MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / gen_rand64_range

Function gen_rand64_range

deps/jemalloc/test/src/SFMT.c:511–523  ·  view source on GitHub ↗

Generate a random integer in [0..limit). */

Source from the content-addressed store, hash-verified

509
510/* Generate a random integer in [0..limit). */
511uint64_t gen_rand64_range(sfmt_t *ctx, uint64_t limit) {
512 uint64_t ret, above;
513
514 above = KQU(0xffffffffffffffff) - (KQU(0xffffffffffffffff) % limit);
515 while (1) {
516 ret = gen_rand64(ctx);
517 if (ret < above) {
518 ret %= limit;
519 break;
520 }
521 }
522 return ret;
523}
524
525#ifndef ONLY64
526/**

Callers 2

ph.cFile · 0.50
rb.cFile · 0.50

Calls 1

gen_rand64Function · 0.70

Tested by

no test coverage detected