bglibs
surfrand.h
1 #ifndef BGLIBS__SURFRAND__H__
2 #define BGLIBS__SURFRAND__H__
3 
4 #include "surf.h"
5 
10 struct surfrand
11 {
14  unsigned left;
21 };
22 
23 void surfrand_init(struct surfrand* c, const uint32* data, unsigned words);
24 uint32 surfrand_uint32(struct surfrand* c);
25 double surfrand_double(struct surfrand* c);
26 void surfrand_fill(struct surfrand* c, unsigned char* buf, unsigned len);
27 uint32 surfrand_uniform(struct surfrand* c, uint32 bound);
28 
31 #endif
surfrand::counter
uint32 counter[SURF_IN_U32]
Definition: surfrand.h:20
surfrand_double
double surfrand_double(struct surfrand *c)
Definition: surfrand.c:93
surfrand_fill
void surfrand_fill(struct surfrand *c, unsigned char *buf, unsigned len)
Definition: surfrand.c:101
obuf_putxw
int obuf_putxw(obuf *out, unsigned long data, unsigned width, char pad)
Definition: obuf_putunumw.c:28
surfrand
Definition: surfrand.h:11
surfrand::seed
uint32 seed[SURF_SEED_U32]
Definition: surfrand.h:18
str::len
unsigned len
Definition: str.h:40
SURF_OUT_U32
#define SURF_OUT_U32
Definition: surf.h:10
surfrand::generated
uint32 generated[SURF_OUT_U32]
Definition: surfrand.h:16
surfrand::left
unsigned left
Definition: surfrand.h:14
surf
void surf(uint32 out[8], const uint32 in[12], const uint32 seed[32])
Definition: surf.c:40
surfrand_uint32
uint32 surfrand_uint32(struct surfrand *c)
Definition: surfrand.c:81
outbuf
obuf outbuf
Definition: obuf_stdout.c:7
SURF_IN_U32
#define SURF_IN_U32
Definition: surf.h:12
surfrand_init
void surfrand_init(struct surfrand *c, const uint32 *data, unsigned words)
Definition: surfrand.c:51
surfrand_uniform
uint32 surfrand_uniform(struct surfrand *c, uint32 bound)
Definition: surfrand.c:121
SURF_SEED_U32
#define SURF_SEED_U32
Definition: surf.h:14
obuf_putc
int obuf_putc(obuf *out, char ch)
Definition: obuf_putc.c:4