34 lines
827 B
C
34 lines
827 B
C
#ifndef _H_OVRandom
|
|
#define _H_OVRandom
|
|
|
|
#include "OVHeap.h"
|
|
|
|
typedef struct _OVRandom OVRandom;
|
|
|
|
OVRandom *OVRandom_NewBySeed(OVHeap * heap, ov_uint32 seed);
|
|
OVRandom *OVRandom_NewByArray(OVHeap * heap, ov_uint32 init_key[], ov_int32 key_length);
|
|
|
|
void OVRandom_Del(OVRandom * I);
|
|
|
|
|
|
/* generates a random number on [0,0xffffffff]-interval */
|
|
ov_uint32 OVRandom_Get_int32(OVRandom * I);
|
|
|
|
|
|
/* generates a random number on [0,0x7fffffff]-interval */
|
|
ov_int32 OVRandom_Get_int31(OVRandom * I);
|
|
|
|
|
|
/* generates a random number on [0,1]-real-interval */
|
|
ov_float64 OVRandom_Get_float64_inc1(OVRandom * I);
|
|
|
|
|
|
/* generates a random number on [0,1)-real-interval */
|
|
ov_float64 OVRandom_Get_float64_exc1(OVRandom * I);
|
|
|
|
|
|
/* generates a random number on (0,1)-real-interval */
|
|
ov_float64 OVRandom_Get_float64_exc01(OVRandom * I);
|
|
|
|
#endif
|