double rand_o0c1(void *d) { if( d == NULL ) { return 2.0 - dsfmt_genrand_close1_open2(&dsfmt_global_data); } else { dsfmt_t *p = (dsfmt_t*) d; return 2.0 - dsfmt_genrand_close1_open2(p); } }
double rand_c0o1(void *d) { if( d == NULL ) { return dsfmt_genrand_close1_open2(&dsfmt_global_data) - 1.0; } else { dsfmt_t *p = (dsfmt_t*) d; return dsfmt_genrand_close1_open2(p) - 1.0; } }
inline static randmtzig_uint64_t randi (dsfmt_t *dsfmt) { double r = dsfmt_genrand_close1_open2(dsfmt); return *((uint64_t *) &r) & 0x000fffffffffffff; }