NEURON
NrnRandom123RNG.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstdint>
4
5
#include "
nrnran123.h
"
6
#include "
RNG.h
"
7
8
class
NrnRandom123
:
public
RNG
{
9
public
:
10
NrnRandom123
(std::uint32_t id1, std::uint32_t id2, std::uint32_t id3 = 0);
11
~NrnRandom123
();
12
std::uint32_t
asLong
() {
13
return
nrnran123_ipick
(
s_
);
14
}
15
double
asDouble
() {
16
return
nrnran123_dblpick
(
s_
);
17
}
18
void
reset
() {
19
nrnran123_setseq
(
s_
, 0, 0);
20
}
21
nrnran123_State
*
s_
;
22
};
RNG.h
NrnRandom123
Definition:
NrnRandom123RNG.hpp:8
NrnRandom123::s_
nrnran123_State * s_
Definition:
NrnRandom123RNG.hpp:21
NrnRandom123::asDouble
double asDouble()
Definition:
NrnRandom123RNG.hpp:15
NrnRandom123::~NrnRandom123
~NrnRandom123()
Definition:
NrnRandom123RNG.cpp:7
NrnRandom123::reset
void reset()
Definition:
NrnRandom123RNG.hpp:18
NrnRandom123::NrnRandom123
NrnRandom123(std::uint32_t id1, std::uint32_t id2, std::uint32_t id3=0)
Definition:
NrnRandom123RNG.cpp:3
NrnRandom123::asLong
std::uint32_t asLong()
Definition:
NrnRandom123RNG.hpp:12
RNG
Definition:
RNG.h:5
nrnran123_ipick
std::uint32_t nrnran123_ipick(nrnran123_State *s)
Definition:
nrnran123.cpp:110
nrnran123_dblpick
double nrnran123_dblpick(nrnran123_State *s)
Definition:
nrnran123.cpp:122
nrnran123_setseq
void nrnran123_setseq(nrnran123_State *s, std::uint32_t seq, char which)
Set a Random123 sequence for a sequnece ID and which selector.
Definition:
nrnran123.cpp:55
nrnran123.h
nrnran123_State
Definition:
nrnran123.cpp:11
src
gnu
NrnRandom123RNG.hpp