NEURON
ivocrand.cpp File Reference
#include <../../nrnconf.h>
#include <stdio.h>
#include <stdlib.h>
#include "Rand.hpp"
#include <InterViews/resource.h>
#include "classreg.h"
#include "oc2iv.h"
#include "utils/enumerate.h"
#include <vector>
#include <ocnotify.h>
#include "ocobserv.h"
#include <nrnran123.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 <HypGeom.h>
#include <Weibull.h>
#include <NrnRandom123RNG.hpp>
#include <MCellRan4RNG.hpp>

Go to the source code of this file.

Classes

class  RandomPlay
 

Macros

#define dmaxuint   4294967295.
 

Typedefs

using RandomPlayList = std::vector< RandomPlay * >
 

Functions

void nrn_random_play ()
 
static void * r_cons (Object *obj)
 
static void r_destruct (void *r)
 
static double r_MCellRan4 (void *r)
 
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)
 
static double r_nrnran123 (void *r)
 
static double r_ran123_globalindex (void *r)
 
static double r_sequence (void *r)
 
int nrn_random123_setseq (Rand *r, uint32_t seq, char which)
 
int nrn_random123_getseq (Rand *r, uint32_t *seq, char *which)
 
static double r_repick (void *r)
 
double nrn_random_pick (Rand *r)
 
void nrn_random_reset (Rand *r)
 
Randnrn_random_arg (int i)
 
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 ()
 
long nrn_get_random_sequence (void *r)
 
int nrn_random_isran123 (void *r, uint32_t *id1, uint32_t *id2, uint32_t *id3)
 
double nrn_random_pick (void *r)
 
void nrn_random_reset (void *r)
 
int nrn_random123_getseq (void *r, uint32_t *seq, char *which)
 
int nrn_random123_setseq (void *r, uint32_t seq, char which)
 
void nrn_set_random_sequence (void *r, int seq)
 

Variables

static RandomPlayListrandom_play_list_
 
static Member_func r_members []
 

Macro Definition Documentation

◆ dmaxuint

#define dmaxuint   4294967295.

Definition at line 39 of file ivocrand.cpp.

Typedef Documentation

◆ RandomPlayList

using RandomPlayList = std::vector<RandomPlay*>

Definition at line 56 of file ivocrand.cpp.

Function Documentation

◆ nrn_get_random_sequence() [1/2]

long nrn_get_random_sequence ( Rand r)

Definition at line 122 of file ivocrand.cpp.

◆ nrn_get_random_sequence() [2/2]

long nrn_get_random_sequence ( void *  r)

Definition at line 433 of file ivocrand.cpp.

◆ nrn_random123_getseq() [1/2]

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

Definition at line 205 of file ivocrand.cpp.

◆ nrn_random123_getseq() [2/2]

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

Definition at line 445 of file ivocrand.cpp.

◆ nrn_random123_setseq() [1/2]

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

Definition at line 197 of file ivocrand.cpp.

◆ nrn_random123_setseq() [2/2]

int nrn_random123_setseq ( void *  r,
uint32_t  seq,
char  which 
)

Definition at line 448 of file ivocrand.cpp.

◆ nrn_random_arg()

Rand* nrn_random_arg ( int  i)

Definition at line 235 of file ivocrand.cpp.

◆ nrn_random_isran123() [1/2]

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

Definition at line 134 of file ivocrand.cpp.

◆ nrn_random_isran123() [2/2]

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

Definition at line 436 of file ivocrand.cpp.

◆ nrn_random_pick() [1/2]

double nrn_random_pick ( Rand r)

Definition at line 221 of file ivocrand.cpp.

◆ nrn_random_pick() [2/2]

double nrn_random_pick ( void *  r)

Definition at line 439 of file ivocrand.cpp.

◆ nrn_random_play()

void nrn_random_play ( )

Definition at line 401 of file ivocrand.cpp.

◆ nrn_random_reset() [1/2]

void nrn_random_reset ( Rand r)

Definition at line 229 of file ivocrand.cpp.

◆ nrn_random_reset() [2/2]

void nrn_random_reset ( void *  r)

Definition at line 442 of file ivocrand.cpp.

◆ nrn_set_random_sequence() [1/2]

void nrn_set_random_sequence ( Rand r,
long  seq 
)

Definition at line 128 of file ivocrand.cpp.

◆ nrn_set_random_sequence() [2/2]

void nrn_set_random_sequence ( void *  r,
int  seq 
)

Definition at line 451 of file ivocrand.cpp.

◆ r_binomial()

static double r_binomial ( void *  r)
static

Definition at line 316 of file ivocrand.cpp.

◆ r_cons()

static void* r_cons ( Object obj)
static

Definition at line 85 of file ivocrand.cpp.

◆ r_destruct()

static void r_destruct ( void *  r)
static

Definition at line 100 of file ivocrand.cpp.

◆ r_discunif()

static double r_discunif ( void *  r)
static

Definition at line 259 of file ivocrand.cpp.

◆ r_erlang()

static double r_erlang ( void *  r)
static

Definition at line 373 of file ivocrand.cpp.

◆ r_geometric()

static double r_geometric ( void *  r)
static

Definition at line 333 of file ivocrand.cpp.

◆ r_hypergeo()

static double r_hypergeo ( void *  r)
static

Definition at line 346 of file ivocrand.cpp.

◆ r_lognormal()

static double r_lognormal ( void *  r)
static

Definition at line 287 of file ivocrand.cpp.

◆ r_MCellRan4()

static double r_MCellRan4 ( void *  r)
static

Definition at line 104 of file ivocrand.cpp.

◆ r_negexp()

static double r_negexp ( void *  r)
static

Definition at line 360 of file ivocrand.cpp.

◆ r_normal()

static double r_normal ( void *  r)
static

Definition at line 273 of file ivocrand.cpp.

◆ r_nrnran123()

static double r_nrnran123 ( void *  r)
static

Definition at line 143 of file ivocrand.cpp.

◆ r_play()

static double r_play ( void *  r)
static

Definition at line 396 of file ivocrand.cpp.

◆ r_poisson()

static double r_poisson ( void *  r)
static

Definition at line 301 of file ivocrand.cpp.

◆ r_ran123_globalindex()

static double r_ran123_globalindex ( void *  r)
static

Definition at line 166 of file ivocrand.cpp.

◆ r_repick()

static double r_repick ( void *  r)
static

Definition at line 216 of file ivocrand.cpp.

◆ r_sequence()

static double r_sequence ( void *  r)
static

Definition at line 174 of file ivocrand.cpp.

◆ r_uniform()

static double r_uniform ( void *  r)
static

Definition at line 246 of file ivocrand.cpp.

◆ r_weibull()

static double r_weibull ( void *  r)
static

Definition at line 387 of file ivocrand.cpp.

◆ Random_reg()

void Random_reg ( )

Definition at line 427 of file ivocrand.cpp.

Variable Documentation

◆ r_members

Member_func r_members[]
static
Initial value:
= {{"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:360
static double r_poisson(void *r)
Definition: ivocrand.cpp:301
static double r_sequence(void *r)
Definition: ivocrand.cpp:174
static double r_repick(void *r)
Definition: ivocrand.cpp:216
static double r_uniform(void *r)
Definition: ivocrand.cpp:246
static double r_ran123_globalindex(void *r)
Definition: ivocrand.cpp:166
static double r_discunif(void *r)
Definition: ivocrand.cpp:259
static double r_MCellRan4(void *r)
Definition: ivocrand.cpp:104
static double r_normal(void *r)
Definition: ivocrand.cpp:273
static double r_hypergeo(void *r)
Definition: ivocrand.cpp:346
static double r_weibull(void *r)
Definition: ivocrand.cpp:387
static double r_lognormal(void *r)
Definition: ivocrand.cpp:287
static double r_play(void *r)
Definition: ivocrand.cpp:396
static double r_erlang(void *r)
Definition: ivocrand.cpp:373
static double r_nrnran123(void *r)
Definition: ivocrand.cpp:143
static double r_binomial(void *r)
Definition: ivocrand.cpp:316
static double r_geometric(void *r)
Definition: ivocrand.cpp:333

Definition at line 408 of file ivocrand.cpp.

◆ random_play_list_

RandomPlayList* random_play_list_
static

Definition at line 57 of file ivocrand.cpp.