MCKL
Monte Carlo Kernel Library
Macros
Configuration

Configuration macros and default values if undefined. More...

Macros

#define MCKL_AES128_ROUNDS   10
 AES128Engine default rounds. More...
 
#define MCKL_AES192_ROUNDS   12
 AES192Engine default rounds. More...
 
#define MCKL_AES256_ROUNDS   14
 AES256Engine default rounds. More...
 
#define MCKL_ALIGNMENT   32
 The default alignment for scalar type. More...
 
#define MCKL_ARS_ROUNDS   5
 ARSEngine default rounds. More...
 
#define MCKL_MEMORY_TYPE   ::mckl::MemoryTBB
 Default allocation type. More...
 
#define MCKL_MINIMUM_ALIGNMENT   16
 The minimum alignment for any type. More...
 
#define MCKL_PHILOX_ROUNDS   10
 PhiloxGenerator default rounds. More...
 
#define MCKL_REQUIRE_ENDIANNESS_NEUTURAL   0
 Produce exact the same results regardless of endianness. More...
 
#define MCKL_RNG_64_TYPE   ::mckl::ARS_64
 Default RNG_64 type. More...
 
#define MCKL_RNG_SET_TYPE   ::mckl::RNGSetTBB
 Default RNG set type. More...
 
#define MCKL_RNG_TYPE   ::mckl::ARS
 Default RNG type. More...
 
#define MCKL_RUNTIME_ASSERT_AS_EXCEPTION   0
 Turn MCKL runtime assertions into exceptions. More...
 
#define MCKL_SEED_ATOMIC   1
 SeedGeneartor by default use atomic operation. More...
 
#define MCKL_SEED_RANDOMIZE   1
 SeedGeneartor by default use randomized output. More...
 
#define MCKL_SMP_BACKEND   ::mckl::BackendTBB
 Default SMP backend. More...
 
#define MCKL_THREEFRY_ROUNDS   20
 ThreefryGenerator default rounds. More...
 
#define MCKL_U01_USE_64BITS_DOUBLE   0
 Use 64-bit intermediate random integers for double precison output. More...
 
#define MCKL_U01_USE_FIXED_POINT   0
 Default U01 distribution using fixed point conversion. More...
 

Detailed Description

Configuration macros and default values if undefined.

Macro Definition Documentation

◆ MCKL_AES128_ROUNDS

#define MCKL_AES128_ROUNDS   10

AES128Engine default rounds.

Definition at line 52 of file aes.hpp.

◆ MCKL_AES192_ROUNDS

#define MCKL_AES192_ROUNDS   12

AES192Engine default rounds.

Definition at line 58 of file aes.hpp.

◆ MCKL_AES256_ROUNDS

#define MCKL_AES256_ROUNDS   14

AES256Engine default rounds.

Definition at line 64 of file aes.hpp.

◆ MCKL_ALIGNMENT

#define MCKL_ALIGNMENT   32

The default alignment for scalar type.

Definition at line 187 of file config.h.

◆ MCKL_ARS_ROUNDS

#define MCKL_ARS_ROUNDS   5

ARSEngine default rounds.

Definition at line 70 of file aes.hpp.

◆ MCKL_MEMORY_TYPE

#define MCKL_MEMORY_TYPE   ::mckl::MemoryTBB

Default allocation type.

Definition at line 60 of file memory.hpp.

◆ MCKL_MINIMUM_ALIGNMENT

#define MCKL_MINIMUM_ALIGNMENT   16

The minimum alignment for any type.

Definition at line 196 of file config.h.

◆ MCKL_PHILOX_ROUNDS

#define MCKL_PHILOX_ROUNDS   10

PhiloxGenerator default rounds.

Definition at line 56 of file philox.hpp.

◆ MCKL_REQUIRE_ENDIANNESS_NEUTURAL

#define MCKL_REQUIRE_ENDIANNESS_NEUTURAL   0

Produce exact the same results regardless of endianness.

Definition at line 69 of file config.h.

◆ MCKL_RNG_64_TYPE

#define MCKL_RNG_64_TYPE   ::mckl::ARS_64

Default RNG_64 type.

Definition at line 51 of file rng.hpp.

◆ MCKL_RNG_SET_TYPE

#define MCKL_RNG_SET_TYPE   ::mckl::RNGSetTBB

Default RNG set type.

Definition at line 47 of file rng_set.hpp.

◆ MCKL_RNG_TYPE

#define MCKL_RNG_TYPE   ::mckl::ARS

Default RNG type.

Definition at line 41 of file rng.hpp.

◆ MCKL_RUNTIME_ASSERT_AS_EXCEPTION

#define MCKL_RUNTIME_ASSERT_AS_EXCEPTION   0

Turn MCKL runtime assertions into exceptions.

Definition at line 63 of file config.h.

◆ MCKL_SEED_ATOMIC

#define MCKL_SEED_ATOMIC   1

SeedGeneartor by default use atomic operation.

Definition at line 49 of file seed.hpp.

◆ MCKL_SEED_RANDOMIZE

#define MCKL_SEED_RANDOMIZE   1

SeedGeneartor by default use randomized output.

Definition at line 43 of file seed.hpp.

◆ MCKL_SMP_BACKEND

#define MCKL_SMP_BACKEND   ::mckl::BackendTBB

Default SMP backend.

Definition at line 44 of file backend_base.hpp.

◆ MCKL_THREEFRY_ROUNDS

#define MCKL_THREEFRY_ROUNDS   20

ThreefryGenerator default rounds.

Definition at line 52 of file threefry.hpp.

◆ MCKL_U01_USE_64BITS_DOUBLE

#define MCKL_U01_USE_64BITS_DOUBLE   0

Use 64-bit intermediate random integers for double precison output.

Definition at line 48 of file u01_distribution.hpp.

◆ MCKL_U01_USE_FIXED_POINT

#define MCKL_U01_USE_FIXED_POINT   0

Default U01 distribution using fixed point conversion.

Definition at line 42 of file u01_distribution.hpp.