#include "ran0.h" #include "time.h" int seed = 0; void init(long *seed_) { *seed_ = time(NULL); } void update(double *ran0_) { *ran0_ = ran0(&seed); } double ran0(long *idum) { long k; double ans; *idum ^=MASK; k=(*idum)/IQ; *idum=IA*(*idum-k*IQ)-IR*k; if (*idum < 0) *idum += IM; ans=AM*(*idum); *idum ^=MASK; return ans; }