NEURON
nrnran123.cpp File Reference
#include <../../nrnconf.h>
#include <inttypes.h>
#include <nrnran123.h>
#include <hocdec.h>
#include <stdlib.h>
#include <math.h>
#include <Random123/philox.h>

Go to the source code of this file.

Classes

struct  nrnran123_State
 

Functions

void nrnran123_set_globalindex (uint32_t gix)
 
uint32_t nrnran123_get_globalindex ()
 
nrnran123_Statenrnran123_newstream (uint32_t id1, uint32_t id2)
 
nrnran123_Statenrnran123_newstream3 (uint32_t id1, uint32_t id2, uint32_t id3)
 
void nrnran123_deletestream (nrnran123_State *s)
 
void nrnran123_getseq (nrnran123_State *s, uint32_t *seq, char *which)
 
void nrnran123_setseq (nrnran123_State *s, uint32_t seq, char which)
 
void nrnran123_getids (nrnran123_State *s, uint32_t *id1, uint32_t *id2)
 
void nrnran123_getids3 (nrnran123_State *s, uint32_t *id1, uint32_t *id2, uint32_t *id3)
 
uint32_t nrnran123_ipick (nrnran123_State *s)
 
double nrnran123_dblpick (nrnran123_State *s)
 
double nrnran123_negexp (nrnran123_State *s)
 
double nrnran123_normal (nrnran123_State *s)
 
nrnran123_array4x32 nrnran123_iran (uint32_t seq, uint32_t id1, uint32_t id2)
 
nrnran123_array4x32 nrnran123_iran3 (uint32_t seq, uint32_t id1, uint32_t id2, uint32_t id3)
 
double nrnran123_uint2dbl (uint32_t u)
 

Variables

static const double SHIFT32 = 1.0 / 4294967297.0
 
static philox4x32_key_t k ={{0}}
 

Function Documentation

◆ nrnran123_dblpick()

double nrnran123_dblpick ( nrnran123_State s)

Definition at line 85 of file nrnran123.cpp.

◆ nrnran123_deletestream()

void nrnran123_deletestream ( nrnran123_State s)

Definition at line 41 of file nrnran123.cpp.

◆ nrnran123_get_globalindex()

uint32_t nrnran123_get_globalindex ( )

Definition at line 24 of file nrnran123.cpp.

◆ nrnran123_getids()

void nrnran123_getids ( nrnran123_State s,
uint32_t id1,
uint32_t id2 
)

Definition at line 60 of file nrnran123.cpp.

◆ nrnran123_getids3()

void nrnran123_getids3 ( nrnran123_State s,
uint32_t id1,
uint32_t id2,
uint32_t id3 
)

Definition at line 65 of file nrnran123.cpp.

◆ nrnran123_getseq()

void nrnran123_getseq ( nrnran123_State s,
uint32_t seq,
char *  which 
)

Definition at line 45 of file nrnran123.cpp.

◆ nrnran123_ipick()

uint32_t nrnran123_ipick ( nrnran123_State s)

Definition at line 71 of file nrnran123.cpp.

◆ nrnran123_iran()

nrnran123_array4x32 nrnran123_iran ( uint32_t  seq,
uint32_t  id1,
uint32_t  id2 
)

Definition at line 112 of file nrnran123.cpp.

◆ nrnran123_iran3()

nrnran123_array4x32 nrnran123_iran3 ( uint32_t  seq,
uint32_t  id1,
uint32_t  id2,
uint32_t  id3 
)

Definition at line 115 of file nrnran123.cpp.

◆ nrnran123_negexp()

double nrnran123_negexp ( nrnran123_State s)

Definition at line 89 of file nrnran123.cpp.

◆ nrnran123_newstream()

nrnran123_State* nrnran123_newstream ( uint32_t  id1,
uint32_t  id2 
)

Definition at line 28 of file nrnran123.cpp.

◆ nrnran123_newstream3()

nrnran123_State* nrnran123_newstream3 ( uint32_t  id1,
uint32_t  id2,
uint32_t  id3 
)

Definition at line 31 of file nrnran123.cpp.

◆ nrnran123_normal()

double nrnran123_normal ( nrnran123_State s)

Definition at line 96 of file nrnran123.cpp.

◆ nrnran123_set_globalindex()

void nrnran123_set_globalindex ( uint32_t  gix)

Definition at line 19 of file nrnran123.cpp.

◆ nrnran123_setseq()

void nrnran123_setseq ( nrnran123_State s,
uint32_t  seq,
char  which 
)

Definition at line 50 of file nrnran123.cpp.

◆ nrnran123_uint2dbl()

double nrnran123_uint2dbl ( uint32_t  u)

Definition at line 130 of file nrnran123.cpp.

Variable Documentation

◆ k

philox4x32_key_t k ={{0}}
static

Definition at line 11 of file nrnran123.cpp.

◆ SHIFT32

const double SHIFT32 = 1.0 / 4294967297.0
static

Definition at line 9 of file nrnran123.cpp.