annotate RngStream.h @ 3:974d7be8eec4 tip

Update to pack-based dcg utilities
author samer
date Tue, 03 Oct 2017 11:52:23 +0100
parents b31415b4a196
children
rev   line source
samer@0 1 /* RngStream.h for ANSI C */
samer@0 2 #ifndef RNGSTREAM_H
samer@0 3 #define RNGSTREAM_H
samer@0 4
samer@0 5 struct rng_state {
samer@0 6 double Cg[6]; // state of generator
samer@0 7 };
samer@0 8
samer@0 9 struct rng_jump {
samer@0 10 double T1[3][3]; // transition matrix for a jump in first generator
samer@0 11 double T2[3][3]; // ditto for second
samer@0 12 };
samer@0 13
samer@0 14
samer@0 15 void RngStream_InitState(struct rng_state *g);
samer@0 16 void RngStream_InitJump(struct rng_jump *j,int e);
samer@0 17 void RngStream_DoubleJump(struct rng_jump *j, struct rng_jump *j2);
samer@0 18 int RngStream_SetState(struct rng_state *g, unsigned seed[6]);
samer@0 19 void RngStream_GetState(struct rng_state *g, unsigned seed[6]);
samer@0 20 void RngStream_Advance(struct rng_jump *j, struct rng_state *g1, struct rng_state *g2);
samer@0 21 double RngStream_Float(struct rng_state *g1, struct rng_state *g2);
samer@0 22 double RngStream_Double(struct rng_state *g1, struct rng_state *g2);
samer@0 23 double RngStream_Raw(struct rng_state *g1, struct rng_state *g2);
samer@0 24
samer@0 25 #endif
samer@0 26
samer@0 27