Random123
Classes | Typedefs | Functions
r123 Namespace Reference

Classes

class  AESNI1xm128i
 
class  AESNI1xm128i_R
 
struct  AESNI4x32
 
class  AESNI4x32_R
 
class  ARS1xm128i_R
 
class  ARS4x32_R
 
struct  double2
 
struct  Engine
 
struct  float2
 
class  MicroURNG
 
class  Philox2x32_R
 
class  Philox2x64_R
 
class  Philox4x32_R
 
class  Philox4x64_R
 
struct  ReinterpretCtr
 
class  Threefry2x32_R
 
class  Threefry2x64_R
 
class  Threefry4x32_R
 
class  Threefry4x64_R
 

Typedefs

typedef r123array1x32 Array1x32
 
typedef r123array2x32 Array2x32
 
typedef r123array4x32 Array4x32
 
typedef r123array8x32 Array8x32
 
typedef r123array1x64 Array1x64
 
typedef r123array2x64 Array2x64
 
typedef r123array4x64 Array4x64
 
typedef r123array16x8 Array16x8
 
typedef r123array1xm128i Array1xm128i
 
typedef ARS1xm128i_R< ars1xm128i_roundsARS1xm128i
 
typedef ARS4x32_R< ars4x32_roundsARS4x32
 
typedef Philox2x32_R< philox2x32_rounds > Philox2x32
 
typedef Philox4x32_R< philox4x32_roundsPhilox4x32
 
typedef Philox2x64_R< philox2x64_roundsPhilox2x64
 
typedef Philox4x64_R< philox4x64_roundsPhilox4x64
 
typedef Threefry2x32_R< threefry2x32_roundsThreefry2x32
 
typedef Threefry4x32_R< threefry4x32_roundsThreefry4x32
 
typedef Threefry2x64_R< threefry2x64_roundsThreefry2x64
 
typedef Threefry4x64_R< threefry4x64_roundsThreefry4x64
 

Functions

static void sincospif (float x, float *s, float *c)
 
static void sincospi (double x, double *s, double *c)
 
static float2 boxmuller (uint32_t u0, uint32_t u1)
 
static double2 boxmuller (uint64_t u0, uint64_t u1)
 
template<typename Ftype , typename Itype >
static Ftype u01 (Itype in)
 Return a uniform real value in (0, 1]. More...
 
template<typename Ftype , typename Itype >
static Ftype uneg11 (Itype in)
 Return a signed value in [-1,1]. More...
 
template<typename Ftype , typename Itype >
static Ftype u01fixedpt (Itype in)
 Return a value in (0,1) chosen from a set of equally spaced fixed-point values. More...
 
template<typename Ftype , typename CollType >
static std::array< Ftype, CollType::static_size > u01all (CollType in)
 Apply u01 to every item in an r123array, returning a std::array. More...
 
template<typename Ftype , typename CollType >
static std::array< Ftype, CollType::static_size > uneg11all (CollType in)
 Apply uneg11 to every item in an r123array, returning a std::array. More...
 
template<typename Ftype , typename CollType >
static std::array< Ftype, CollType::static_size > u01fixedptall (CollType in)
 Apply u01fixedpt to every item in an r123array, returning a std::array. More...
 

Detailed Description

Most of the Random123 C++ API is contained in the r123 namespace.

Typedef Documentation

◆ Array16x8

◆ Array1x32

◆ Array1x64

◆ Array1xm128i

◆ Array2x32

◆ Array2x64

◆ Array4x32

◆ Array4x64

◆ Array8x32

◆ ARS1xm128i

◆ ARS4x32

Function Documentation

◆ boxmuller() [1/2]

static float2 r123::boxmuller ( uint32_t  u0,
uint32_t  u1 
)
inlinestatic

◆ boxmuller() [2/2]

static double2 r123::boxmuller ( uint64_t  u0,
uint64_t  u1 
)
inlinestatic

◆ sincospi()

static void r123::sincospi ( double  x,
double *  s,
double *  c 
)
inlinestatic

◆ sincospif()

static void r123::sincospif ( float  x,
float *  s,
float *  c 
)
inlinestatic