![]() |
NEURON
|
#include <cstdint>
#include "nrnran123.h"
#include <cstdlib>
#include <cmath>
#include <Random123/philox.h>
Go to the source code of this file.
Classes | |
struct | nrnran123_State |
Typedefs | |
using | RNG = r123::Philox4x32 |
Functions | |
void | nrnran123_set_globalindex (std::uint32_t gix) |
std::uint32_t | nrnran123_get_globalindex () |
nrnran123_State * | nrnran123_newstream3 (std::uint32_t id1, std::uint32_t id2, std::uint32_t id3) |
nrnran123_State * | nrnran123_newstream () |
Construct a new Random123 stream based on the philox4x32 generator. More... | |
nrnran123_State * | nrnran123_newstream (std::uint32_t id1, std::uint32_t id2, std::uint32_t id3) |
Construct a new Random123 stream based on the philox4x32 generator. More... | |
void | nrnran123_deletestream (nrnran123_State *s) |
Destroys the given Random123 stream. More... | |
void | nrnran123_getseq (nrnran123_State *s, std::uint32_t *seq, char *which) |
Get sequence number and selector from an nrnran123_State object. More... | |
void | nrnran123_setseq (nrnran123_State *s, std::uint32_t seq, char which) |
Set a Random123 sequence for a sequnece ID and which selector. More... | |
void | nrnran123_setseq (nrnran123_State *s, double seq4which) |
seq4which is 34 bit uint encoded as double(seq)*4 + which More convenient to get and set from interpreter More... | |
void | nrnran123_getids (nrnran123_State *s, std::uint32_t *id1, std::uint32_t *id2) |
Get stream IDs from Random123 State object. More... | |
void | nrnran123_getids (nrnran123_State *s, std::uint32_t *id1, std::uint32_t *id2, std::uint32_t *id3) |
Get stream IDs from Random123 State object. More... | |
void | nrnran123_getids3 (nrnran123_State *s, std::uint32_t *id1, std::uint32_t *id2, std::uint32_t *id3) |
void | nrnran123_setids (nrnran123_State *s, std::uint32_t id1, std::uint32_t id2, std::uint32_t id3) |
std::uint32_t | nrnran123_ipick (nrnran123_State *s) |
double | nrnran123_dblpick (nrnran123_State *s) |
double | nrnran123_uniform (nrnran123_State *s) |
double | nrnran123_uniform (nrnran123_State *s, double a, double b) |
double | nrnran123_negexp (nrnran123_State *s, double mean) |
double | nrnran123_negexp (nrnran123_State *s) |
double | nrnran123_normal (nrnran123_State *s) |
double | nrnran123_normal (nrnran123_State *s, double mu, double sigma) |
nrnran123_array4x32 | nrnran123_iran (std::uint32_t seq, std::uint32_t id1, std::uint32_t id2) |
nrnran123_array4x32 | nrnran123_iran3 (std::uint32_t seq, std::uint32_t id1, std::uint32_t id2, std::uint32_t id3) |
Variables | |
static RNG::key_type | k = {{0}} |
using RNG = r123::Philox4x32 |
Definition at line 7 of file nrnran123.cpp.
double nrnran123_dblpick | ( | nrnran123_State * | s | ) |
Definition at line 122 of file nrnran123.cpp.
void nrnran123_deletestream | ( | nrnran123_State * | s | ) |
Destroys the given Random123 stream.
Definition at line 46 of file nrnran123.cpp.
std::uint32_t nrnran123_get_globalindex | ( | ) |
Definition at line 22 of file nrnran123.cpp.
void nrnran123_getids | ( | nrnran123_State * | s, |
std::uint32_t * | id1, | ||
std::uint32_t * | id2 | ||
) |
Get stream IDs from Random123 State object.
Definition at line 82 of file nrnran123.cpp.
void nrnran123_getids | ( | nrnran123_State * | s, |
std::uint32_t * | id1, | ||
std::uint32_t * | id2, | ||
std::uint32_t * | id3 | ||
) |
Get stream IDs from Random123 State object.
Definition at line 87 of file nrnran123.cpp.
void nrnran123_getids3 | ( | nrnran123_State * | s, |
std::uint32_t * | id1, | ||
std::uint32_t * | id2, | ||
std::uint32_t * | id3 | ||
) |
Deprecated, use nrnran123_getids
Definition at line 97 of file nrnran123.cpp.
void nrnran123_getseq | ( | nrnran123_State * | s, |
std::uint32_t * | seq, | ||
char * | which | ||
) |
Get sequence number and selector from an nrnran123_State object.
Definition at line 50 of file nrnran123.cpp.
std::uint32_t nrnran123_ipick | ( | nrnran123_State * | s | ) |
Definition at line 110 of file nrnran123.cpp.
nrnran123_array4x32 nrnran123_iran | ( | std::uint32_t | seq, |
std::uint32_t | id1, | ||
std::uint32_t | id2 | ||
) |
Definition at line 168 of file nrnran123.cpp.
nrnran123_array4x32 nrnran123_iran3 | ( | std::uint32_t | seq, |
std::uint32_t | id1, | ||
std::uint32_t | id2, | ||
std::uint32_t | id3 | ||
) |
Deprecated, use nrnran123_iran
Definition at line 171 of file nrnran123.cpp.
double nrnran123_negexp | ( | nrnran123_State * | s | ) |
Definition at line 141 of file nrnran123.cpp.
double nrnran123_negexp | ( | nrnran123_State * | s, |
double | mean | ||
) |
Definition at line 136 of file nrnran123.cpp.
nrnran123_State* nrnran123_newstream | ( | ) |
Construct a new Random123 stream based on the philox4x32 generator.
Definition at line 31 of file nrnran123.cpp.
nrnran123_State* nrnran123_newstream | ( | std::uint32_t | id1, |
std::uint32_t | id2 = 0 , |
||
std::uint32_t | id3 = 0 |
||
) |
Construct a new Random123 stream based on the philox4x32 generator.
id1 | stream ID |
id2 | optional defaults to 0 |
id3 | optional defaults to 0 |
Definition at line 37 of file nrnran123.cpp.
nrnran123_State* nrnran123_newstream3 | ( | std::uint32_t | id1, |
std::uint32_t | id2, | ||
std::uint32_t | id3 | ||
) |
Definition at line 27 of file nrnran123.cpp.
double nrnran123_normal | ( | nrnran123_State * | s | ) |
Definition at line 148 of file nrnran123.cpp.
double nrnran123_normal | ( | nrnran123_State * | s, |
double | mu, | ||
double | sigma | ||
) |
Definition at line 164 of file nrnran123.cpp.
void nrnran123_set_globalindex | ( | std::uint32_t | gix | ) |
Definition at line 17 of file nrnran123.cpp.
void nrnran123_setids | ( | nrnran123_State * | s, |
std::uint32_t | id1, | ||
std::uint32_t | id2, | ||
std::uint32_t | id3 | ||
) |
Definition at line 104 of file nrnran123.cpp.
void nrnran123_setseq | ( | nrnran123_State * | s, |
double | seq4which | ||
) |
seq4which is 34 bit uint encoded as double(seq)*4 + which More convenient to get and set from interpreter
Set a Random123 sequence for a sequnece ID and which selector.
Definition at line 68 of file nrnran123.cpp.
void nrnran123_setseq | ( | nrnran123_State * | s, |
std::uint32_t | seq, | ||
char | which | ||
) |
Set a Random123 sequence for a sequnece ID and which selector.
s | an Random123 state object |
seq | the sequence ID for which to initialize the random number sequence |
which | the selector (0 <= which < 4) of the sequence |
Definition at line 55 of file nrnran123.cpp.
double nrnran123_uniform | ( | nrnran123_State * | s | ) |
Definition at line 128 of file nrnran123.cpp.
double nrnran123_uniform | ( | nrnran123_State * | s, |
double | a, | ||
double | b | ||
) |
Definition at line 132 of file nrnran123.cpp.
|
static |
Definition at line 9 of file nrnran123.cpp.