-
Notifications
You must be signed in to change notification settings - Fork 29
/
prng.h
12 lines (12 loc) · 850 Bytes
/
prng.h
1
2
3
4
5
6
7
8
9
10
11
12
struct SleefRNG *SleefRNG_init(uint64_t seed);
void SleefRNG_dispose(struct SleefRNG *thiz);
uint64_t SleefRNG_next(struct SleefRNG *thiz, int nbits);
uint64_t SleefRNG_next64(struct SleefRNG *thiz);
void SleefRNG_nextBytes(struct SleefRNG *thiz, uint8_t *ptr, size_t z);
double SleefRNG_nextDouble(struct SleefRNG *thiz);
double SleefRNG_nextRectangularDouble(struct SleefRNG *thiz, double min, double max);
void SleefRNG_fillRectangularDouble(struct SleefRNG *thiz, double *ptr, size_t z, double min, double max);
double SleefRNG_nextTriangularDouble(struct SleefRNG *thiz, double peak);
void SleefRNG_fillTriangularDouble(struct SleefRNG *thiz, double *ptr, size_t z, double peak);
double SleefRNG_nextTwoLevelDouble(struct SleefRNG *thiz, double peak);
void SleefRNG_fillTwoLevelDouble(struct SleefRNG *thiz, double *ptr, size_t z, double peak);