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()

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

◆ next_seed()

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

◆ next_seed3()

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

◆ random_array()

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

◆ random_gauss()

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

◆ random_init()

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

◆ random_orb()

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

◆ seed_to_decimal()

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

Member Data Documentation

◆ B

int orb5x::RandomGenerator::B = 16384
staticconstexpr

◆ DEL

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

◆ MULT

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

◆ RAN_K

int orb5x::RandomGenerator::RAN_K = 100
staticconstexpr

◆ SEED_SIZE

int orb5x::RandomGenerator::SEED_SIZE = 8
staticconstexpr

◆ ULP

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

◆ ULP2

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

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