ORB5X 1.0.0
Performance-portable global electromagnetic gyrokinetic PIC code
 
Loading...
Searching...
No Matches
orb5x::RandomGenerator Class Reference

#include "random_generator.hpp"

Static Public Member Functions

static void decimal_to_seed (const std::string &decimal, std::array< int, SEED_SIZE > &seed)
 
static void next_seed (int n0, std::array< int, SEED_SIZE > &seed)
 
static void next_seed3 (int n0, int n1, int n2, std::array< int, SEED_SIZE > &seed)
 
static void random_array (std::vector< Real > &y, int n, int &p, std::vector< Real > &r)
 
static void random_gauss (std::vector< Real > &y, int n, int &p, std::vector< Real > &r)
 
static void random_init (const std::array< int, SEED_SIZE > &seed, int &p, std::vector< Real > &r)
 
static void random_orb (int &p, std::vector< Real > &r, Real &random2)
 
static void seed_to_decimal (const std::array< int, SEED_SIZE > &seed, std::string &decimal)
 

Static Public Attributes

static constexpr int B = 16384
 
static constexpr Real DEL = 1.0 / (1ULL << 14)
 
static constexpr Real MULT = 1.0 * (1ULL << 23)
 
static constexpr int RAN_K = 100
 
static constexpr int SEED_SIZE = 8
 
static constexpr Real ULP = 1.0 / (1ULL << 47)
 
static constexpr Real ULP2 = 1.0 / (1ULL << 48)
 

Member Function Documentation

◆ decimal_to_seed()

static void orb5x::RandomGenerator::decimal_to_seed ( const std::string &  decimal,
std::array< int, SEED_SIZE > &  seed 
)
static

◆ next_seed()

static void orb5x::RandomGenerator::next_seed ( int  n0,
std::array< int, SEED_SIZE > &  seed 
)
static

◆ next_seed3()

static void orb5x::RandomGenerator::next_seed3 ( int  n0,
int  n1,
int  n2,
std::array< int, SEED_SIZE > &  seed 
)
static

◆ random_array()

static void orb5x::RandomGenerator::random_array ( std::vector< Real > &  y,
int  n,
int &  p,
std::vector< Real > &  r 
)
static

◆ random_gauss()

static void orb5x::RandomGenerator::random_gauss ( std::vector< Real > &  y,
int  n,
int &  p,
std::vector< Real > &  r 
)
static

◆ random_init()

static void orb5x::RandomGenerator::random_init ( const std::array< int, SEED_SIZE > &  seed,
int &  p,
std::vector< Real > &  r 
)
static

◆ random_orb()

static void orb5x::RandomGenerator::random_orb ( int &  p,
std::vector< Real > &  r,
Real random2 
)
static

◆ seed_to_decimal()

static void orb5x::RandomGenerator::seed_to_decimal ( const std::array< int, SEED_SIZE > &  seed,
std::string &  decimal 
)
static

Member Data Documentation

◆ B

constexpr int orb5x::RandomGenerator::B = 16384
staticconstexpr

◆ DEL

constexpr Real orb5x::RandomGenerator::DEL = 1.0 / (1ULL << 14)
staticconstexpr

◆ MULT

constexpr Real orb5x::RandomGenerator::MULT = 1.0 * (1ULL << 23)
staticconstexpr

◆ RAN_K

constexpr int orb5x::RandomGenerator::RAN_K = 100
staticconstexpr

◆ SEED_SIZE

constexpr int orb5x::RandomGenerator::SEED_SIZE = 8
staticconstexpr

◆ ULP

constexpr Real orb5x::RandomGenerator::ULP = 1.0 / (1ULL << 47)
staticconstexpr

◆ ULP2

constexpr Real orb5x::RandomGenerator::ULP2 = 1.0 / (1ULL << 48)
staticconstexpr

The documentation for this class was generated from the following file: