1 #include <../../nrnconf.h>
41 #define dmaxuint 4294967295.
76 NrnRandom123(uint32_t id1, uint32_t id2, uint32_t id3 = 0);
106 MCellRan4(uint32_t ihigh = 0, uint32_t ilow = 0);
218 gen =
new ACG(seed, size);
238 unsigned long seed = 0;
244 size = int(
chkarg(2, 7, 98));
246 Rand* r =
new Rand(seed, size, obj);
268 unsigned long seed = 0;
274 size =
int(
chkarg(2, 7, 98));
291 unsigned long seed1 = 0;
292 unsigned long seed2 = 0;
321 return (
double) mcr->
orig_;
366 uint32_t gix = (uint32_t)
chkarg(1, 0., 4294967295.);
376 "Random.seq() can only be used if the random generator was MCellRan4 or Random123", 0);
383 double s =
chkarg(1, 0., 17179869183.);
384 seq = (uint32_t) (s / 4.);
385 which = char(s - seq * 4.);
390 return double(seq) * 4. + double(which);
397 return (
double) mcr->
ihigh_;
422 seed1 = (uint32_t) (*
getarg(1));
428 return (
double) mcr->
seed();
436 return (*(x->
rand))();
441 return (*(r->
rand))();
470 return (*(x->
rand))();
479 long a1 = long(*
getarg(1));
480 long a2 = long(*
getarg(2));
483 return (*(x->
rand))();
497 return (*(x->
rand))();
511 return (*(x->
rand))();
524 return (*(x->
rand))();
536 int a1 = int(
chkarg(1, 0, 1e99));
537 double a2 =
chkarg(2, 0, 1);
540 return (*(x->
rand))();
553 double a1 =
chkarg(1, 0, 1);
556 return (*(x->
rand))();
570 return (*(x->
rand))();
583 return (*(x->
rand))();
597 return (*(x->
rand))();
611 return (*(x->
rand))();
virtual double asDouble()
virtual uint32_t asLong()
virtual uint32_t asLong()
virtual double asDouble()
MCellRan4(uint32_t ihigh=0, uint32_t ilow=0)
NrnRandom123(uint32_t id1, uint32_t id2, uint32_t id3=0)
virtual uint32_t asLong()
virtual double asDouble()
Rand(unsigned long seed=0, int size=55, Object *obj=NULL)
RandomPlay(Rand *, double *)
virtual void update(Observable *)
virtual void unref_deferred() const
double chkarg(int, double low, double high)
void hoc_execerror(const char *, const char *)
double * hoc_pgetarg(int narg)
Object ** hoc_objgetarg(int)
void nrn_notify_when_void_freed(void *p, Observer *ob)
void nrn_notify_when_double_freed(double *p, Observer *ob)
void nrn_notify_pointer_disconnect(Observer *ob)
static double r_negexp(void *r)
void nrn_random_reset(Rand *r)
int nrn_random123_setseq(Rand *r, uint32_t seq, char which)
static void * r_cons(Object *obj)
static double r_poisson(void *r)
static double r_sequence(void *r)
static double r_repick(void *r)
static double r_uniform(void *r)
static void r_destruct(void *r)
double nrn_random_pick(Rand *r)
static double r_ran123_globalindex(void *r)
static double r_discunif(void *r)
static double r_MCellRan4(void *r)
static Member_func r_members[]
int nrn_random123_getseq(Rand *r, uint32_t *seq, char *which)
static double r_MLCG(void *r)
static double r_normal(void *r)
static double r_hypergeo(void *r)
int nrn_random_isran123(Rand *r, uint32_t *id1, uint32_t *id2, uint32_t *id3)
static double r_weibull(void *r)
static RandomPlayList * random_play_list_
static double r_lognormal(void *r)
void nrn_set_random_sequence(Rand *r, long seq)
static double r_play(void *r)
static double r_erlang(void *r)
std::vector< RandomPlay * > RandomPlayList
static double r_ACG(void *r)
static double r_Isaac64(void *r)
static double r_nrnran123(void *r)
long nrn_get_random_sequence(Rand *r)
Rand * nrn_random_arg(int)
static double r_binomial(void *r)
static double r_geometric(void *r)
uint32_t nrnRan4int(uint32_t *idx1, uint32_t idx2)
uint32_t mcell_iran4(uint32_t *high)
double nrnRan4dbl(uint32_t *idx1, uint32_t idx2)
double mcell_ran4a(uint32_t *high)
void nrnisaac_delete(void *v)
double nrnisaac_dbl_pick(void *v)
uint32_t nrnisaac_uint32_pick(void *v)
void * nrnisaac_new(void)
void nrnisaac_init(void *v, unsigned long int seed)
void class2oc(const char *, void *(*cons)(Object *), void(*destruct)(void *), Member_func *, int(*checkpoint)(void **), Member_ret_obj_func *, Member_ret_str_func *)
void nrnran123_setseq(nrnran123_State *s, uint32_t seq, char which)
void nrnran123_getids3(nrnran123_State *s, uint32_t *id1, uint32_t *id2, uint32_t *id3)
void nrnran123_set_globalindex(uint32_t gix)
uint32_t nrnran123_ipick(nrnran123_State *s)
void nrnran123_getseq(nrnran123_State *s, uint32_t *seq, char *which)
void nrnran123_deletestream(nrnran123_State *s)
double nrnran123_dblpick(nrnran123_State *s)
uint32_t nrnran123_get_globalindex()
nrnran123_State * nrnran123_newstream3(uint32_t id1, uint32_t id2, uint32_t id3)
struct Rand Rand
Ideally the prototypes below would take Rand* in place of void*, but this would break several existin...
check_obj_type(o, "SectionList")