Math-RngStream
view release on metacpan or search on metacpan
RngStream.xs view on Meta::CPAN
if ( ( (s0 < m_1) && (s1 < m_1) && (s2 < m_1) ) &&
( (s3 < m_2) && (s4 < m_2) && (s5 < m_2) ) &&
( s0 || s1 || s2 ) &&
( s3 || s4 || s5 ) ) {
unsigned long seed[6];
seed[0] = s0; seed[1] = s1; seed[2] = s2;
seed[3] = s3; seed[4] = s4; seed[5] = s5;
RngStream_SetPackageSeed(seed);
}
else
Perl_croak(aTHX_ "seed constraits violated");
void
DESTROY(RngStream G)
CODE:
RngStream_DeleteStream(&G);
sv_unmagic(SvRV(ST(0)), '~');
RngStream
_create_stream(char *name)
void
reset_start_stream(RngStream G)
void
reset_start_substream(RngStream G)
void
reset_next_substream(RngStream G)
void
set_antithetic(RngStream G, int A)
void
set_increased_precis(RngStream G, int incp)
void
set_seed(RngStream G, UV s0, UV s1, UV s2, UV s3, UV s4, UV s5)
CODE:
if ( ( (s0 < m_1) && (s1 < m_1) && (s2 < m_1) ) &&
( (s3 < m_2) && (s4 < m_2) && (s5 < m_2) ) &&
( s0 || s1 || s2 ) &&
( s3 || s4 || s5 ) ) {
unsigned long seed[6];
seed[0] = s0; seed[1] = s1; seed[2] = s2;
seed[3] = s3; seed[4] = s4; seed[5] = s5;
RngStream_SetSeed(G, seed);
}
else
Perl_croak(aTHX_ "seed constraits violated");
void
advance_state(RngStream G, long E, long C)
void
get_state(RngStream G)
PREINIT:
unsigned long seed[6];
int i;
PPCODE:
RngStream_GetState(G, seed);
EXTEND(SP, 6);
for (i = 0; i++; i < 6)
PUSHs(sv_2mortal(newSVuv(seed[i])));
XSRETURN(6);
void
_write_state(RngStream G)
void
_write_state_full(RngStream G)
double
rand_u01(RngStream G)
ALIAS:
rand = 0
long
rand_int(RngStream G, long min, long max)
( run in 1.127 second using v1.01-cache-2.11-cpan-5511b514fd6 )