NEURON
ivocrand.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <stdlib.h>
#include "random1.h"
#include <InterViews/resource.h>
#include "classreg.h"
#include "oc2iv.h"
#include "nrnisaac.h"
#include <vector>
#include <ocnotify.h>
#include "ocobserv.h"
#include <nrnran123.h>
#include <RNG.h>
#include <ACG.h>
#include <MLCG.h>
#include <Random.h>
#include <Poisson.h>
#include <Normal.h>
#include <Uniform.h>
#include <Binomial.h>
#include <DiscUnif.h>
#include <Erlang.h>
#include <Geom.h>
#include <LogNorm.h>
#include <NegExp.h>
#include <RndInt.h>
#include <HypGeom.h>
#include <Weibull.h>
#include <mcran4.h>

Go to the source code of this file.

Classes

class  RandomPlay
 
class  NrnRandom123
 
class  MCellRan4
 
class  Isaac64
 

Macros

#define dmaxuint   4294967295.
 

Typedefs

using RandomPlayList = std::vector< RandomPlay * >
 

Functions

void nrn_random_play ()
 
double nrn_random_pick (Rand *r)
 
void nrn_random_reset (Rand *r)
 
Randnrn_random_arg (int)
 
long nrn_get_random_sequence (Rand *r)
 
void nrn_set_random_sequence (Rand *r, long seq)
 
int nrn_random_isran123 (Rand *r, uint32_t *id1, uint32_t *id2, uint32_t *id3)
 
int nrn_random123_setseq (Rand *r, uint32_t seq, char which)
 
int nrn_random123_getseq (Rand *r, uint32_t *seq, char *which)
 
static voidr_cons (Object *obj)
 
static void r_destruct (void *r)
 
static double r_ACG (void *r)
 
static double r_MLCG (void *r)
 
static double r_MCellRan4 (void *r)
 
static double r_nrnran123 (void *r)
 
static double r_ran123_globalindex (void *r)
 
static double r_sequence (void *r)
 
static double r_Isaac64 (void *r)
 
static double r_repick (void *r)
 
static double r_uniform (void *r)
 
static double r_discunif (void *r)
 
static double r_normal (void *r)
 
static double r_lognormal (void *r)
 
static double r_poisson (void *r)
 
static double r_binomial (void *r)
 
static double r_geometric (void *r)
 
static double r_hypergeo (void *r)
 
static double r_negexp (void *r)
 
static double r_erlang (void *r)
 
static double r_weibull (void *r)
 
static double r_play (void *r)
 
void Random_reg ()
 

Variables

static RandomPlayListrandom_play_list_
 
static Member_func r_members []
 

Macro Definition Documentation

◆ dmaxuint

#define dmaxuint   4294967295.

Definition at line 41 of file ivocrand.cpp.

Typedef Documentation

◆ RandomPlayList

using RandomPlayList = std::vector<RandomPlay*>

Definition at line 58 of file ivocrand.cpp.

Function Documentation

◆ nrn_get_random_sequence()

long nrn_get_random_sequence ( Rand r)

Definition at line 324 of file ivocrand.cpp.

◆ nrn_random123_getseq()

int nrn_random123_getseq ( Rand r,
uint32_t *  seq,
char *  which 
)

Definition at line 408 of file ivocrand.cpp.

◆ nrn_random123_setseq()

int nrn_random123_setseq ( Rand r,
uint32_t  seq,
char  which 
)

Definition at line 400 of file ivocrand.cpp.

◆ nrn_random_arg()

Rand * nrn_random_arg ( int  i)

Definition at line 453 of file ivocrand.cpp.

◆ nrn_random_isran123()

int nrn_random_isran123 ( Rand r,
uint32_t *  id1,
uint32_t *  id2,
uint32_t *  id3 
)

Definition at line 336 of file ivocrand.cpp.

◆ nrn_random_pick()

double nrn_random_pick ( Rand r)

Definition at line 439 of file ivocrand.cpp.

◆ nrn_random_play()

void nrn_random_play ( )

Definition at line 619 of file ivocrand.cpp.

◆ nrn_random_reset()

void nrn_random_reset ( Rand r)

Definition at line 447 of file ivocrand.cpp.

◆ nrn_set_random_sequence()

void nrn_set_random_sequence ( Rand r,
long  seq 
)

Definition at line 330 of file ivocrand.cpp.

◆ r_ACG()

static double r_ACG ( void r)
static

Definition at line 265 of file ivocrand.cpp.

◆ r_binomial()

static double r_binomial ( void r)
static

Definition at line 534 of file ivocrand.cpp.

◆ r_cons()

static void* r_cons ( Object obj)
static

Definition at line 237 of file ivocrand.cpp.

◆ r_destruct()

static void r_destruct ( void r)
static

Definition at line 252 of file ivocrand.cpp.

◆ r_discunif()

static double r_discunif ( void r)
static

Definition at line 477 of file ivocrand.cpp.

◆ r_erlang()

static double r_erlang ( void r)
static

Definition at line 591 of file ivocrand.cpp.

◆ r_geometric()

static double r_geometric ( void r)
static

Definition at line 551 of file ivocrand.cpp.

◆ r_hypergeo()

static double r_hypergeo ( void r)
static

Definition at line 564 of file ivocrand.cpp.

◆ r_Isaac64()

static double r_Isaac64 ( void r)
static

Definition at line 416 of file ivocrand.cpp.

◆ r_lognormal()

static double r_lognormal ( void r)
static

Definition at line 505 of file ivocrand.cpp.

◆ r_MCellRan4()

static double r_MCellRan4 ( void r)
static

Definition at line 306 of file ivocrand.cpp.

◆ r_MLCG()

static double r_MLCG ( void r)
static

Definition at line 288 of file ivocrand.cpp.

◆ r_negexp()

static double r_negexp ( void r)
static

Definition at line 578 of file ivocrand.cpp.

◆ r_normal()

static double r_normal ( void r)
static

Definition at line 491 of file ivocrand.cpp.

◆ r_nrnran123()

static double r_nrnran123 ( void r)
static

Definition at line 345 of file ivocrand.cpp.

◆ r_play()

static double r_play ( void r)
static

Definition at line 614 of file ivocrand.cpp.

◆ r_poisson()

static double r_poisson ( void r)
static

Definition at line 519 of file ivocrand.cpp.

◆ r_ran123_globalindex()

static double r_ran123_globalindex ( void r)
static

Definition at line 364 of file ivocrand.cpp.

◆ r_repick()

static double r_repick ( void r)
static

Definition at line 434 of file ivocrand.cpp.

◆ r_sequence()

static double r_sequence ( void r)
static

Definition at line 372 of file ivocrand.cpp.

◆ r_uniform()

static double r_uniform ( void r)
static

Definition at line 464 of file ivocrand.cpp.

◆ r_weibull()

static double r_weibull ( void r)
static

Definition at line 605 of file ivocrand.cpp.

◆ Random_reg()

void Random_reg ( )

Definition at line 648 of file ivocrand.cpp.

Variable Documentation

◆ r_members

Member_func r_members[]
static
Initial value:
= {{"ACG", r_ACG},
{"MLCG", r_MLCG},
{"Isaac64", r_Isaac64},
{"MCellRan4", r_MCellRan4},
{"Random123", r_nrnran123},
{"Random123_globalindex", r_ran123_globalindex},
{"seq", r_sequence},
{"repick", r_repick},
{"uniform", r_uniform},
{"discunif", r_discunif},
{"normal", r_normal},
{"lognormal", r_lognormal},
{"binomial", r_binomial},
{"poisson", r_poisson},
{"geometric", r_geometric},
{"hypergeo", r_hypergeo},
{"negexp", r_negexp},
{"erlang", r_erlang},
{"weibull", r_weibull},
{"play", r_play},
{nullptr, nullptr}}
static double r_negexp(void *r)
Definition: ivocrand.cpp:578
static double r_poisson(void *r)
Definition: ivocrand.cpp:519
static double r_sequence(void *r)
Definition: ivocrand.cpp:372
static double r_repick(void *r)
Definition: ivocrand.cpp:434
static double r_uniform(void *r)
Definition: ivocrand.cpp:464
static double r_ran123_globalindex(void *r)
Definition: ivocrand.cpp:364
static double r_discunif(void *r)
Definition: ivocrand.cpp:477
static double r_MCellRan4(void *r)
Definition: ivocrand.cpp:306
static double r_MLCG(void *r)
Definition: ivocrand.cpp:288
static double r_normal(void *r)
Definition: ivocrand.cpp:491
static double r_hypergeo(void *r)
Definition: ivocrand.cpp:564
static double r_weibull(void *r)
Definition: ivocrand.cpp:605
static double r_lognormal(void *r)
Definition: ivocrand.cpp:505
static double r_play(void *r)
Definition: ivocrand.cpp:614
static double r_erlang(void *r)
Definition: ivocrand.cpp:591
static double r_ACG(void *r)
Definition: ivocrand.cpp:265
static double r_Isaac64(void *r)
Definition: ivocrand.cpp:416
static double r_nrnran123(void *r)
Definition: ivocrand.cpp:345
static double r_binomial(void *r)
Definition: ivocrand.cpp:534
static double r_geometric(void *r)
Definition: ivocrand.cpp:551

Definition at line 626 of file ivocrand.cpp.

◆ random_play_list_

RandomPlayList* random_play_list_
static

Definition at line 59 of file ivocrand.cpp.