rusEFI
The most advanced open source ECU
|
Tiny Mersenne Twister only 127 bit internal state.
Copyright (C) 2011 Mutsuo Saito, Makoto Matsumoto, Hiroshima University and The University of Tokyo. All rights reserved.
The 3-clause BSD License is applied to this software, see LICENSE.txt
Definition in file tinymt32.h.
Data Structures | |
struct | TINYMT32_T |
Typedefs | |
typedef struct TINYMT32_T | tinymt32_t |
Functions | |
void | tinymt32_init (tinymt32_t *random, uint32_t seed) |
void | tinymt32_init_by_array (tinymt32_t *random, uint32_t init_key[], int key_length) |
static int | tinymt32_get_mexp (tinymt32_t *random __attribute__((unused))) |
static int | tinymt32_get_mexp (tinymt32_t *random) |
static void | tinymt32_next_state (tinymt32_t *random) |
static uint32_t | tinymt32_temper (tinymt32_t *random) |
static float | tinymt32_temper_conv (tinymt32_t *random) |
static float | tinymt32_temper_conv_open (tinymt32_t *random) |
static uint32_t | tinymt32_generate_uint32 (tinymt32_t *random) |
static float | tinymt32_generate_float (tinymt32_t *random) |
static float | tinymt32_generate_float12 (tinymt32_t *random) |
static float | tinymt32_generate_float01 (tinymt32_t *random) |
static float | tinymt32_generate_floatOC (tinymt32_t *random) |
static float | tinymt32_generate_floatOO (tinymt32_t *random) |
static double | tinymt32_generate_32double (tinymt32_t *random) |
typedef struct TINYMT32_T tinymt32_t |
Definition at line 43 of file tinymt32.h.
|
inlinestatic |
This function outputs double precision floating point number from internal state. The returned value has 32-bit precision. In other words, this function makes one double precision floating point number from one 32-bit unsigned integer.
random | tinymt internal status |
Definition at line 248 of file tinymt32.h.
|
inlinestatic |
This function outputs floating point number from internal state. This function is implemented using multiplying by (1 / 2^24). floating point multiplication is faster than using union trick in my Intel CPU.
random | tinymt internal status |
Definition at line 191 of file tinymt32.h.
Referenced by configureRusefiLuaHooks(), SoftSparkLimiter::shouldSkip(), and tinymt32_generate_floatOC().
|
inlinestatic |
This function outputs floating point number from internal state. This function is implemented using union trick.
random | tinymt internal status |
Definition at line 213 of file tinymt32.h.
|
inlinestatic |
This function outputs floating point number from internal state. This function is implemented using union trick.
random | tinymt internal status |
Definition at line 202 of file tinymt32.h.
|
inlinestatic |
This function outputs floating point number from internal state. This function may return 1.0 and never returns 0.0.
random | tinymt internal status |
Definition at line 224 of file tinymt32.h.
|
inlinestatic |
This function outputs floating point number from internal state. This function returns neither 0.0 nor 1.0.
random | tinymt internal status |
Definition at line 235 of file tinymt32.h.
|
inlinestatic |
This function outputs 32-bit unsigned integer from internal state.
random | tinymt internal status |
Definition at line 178 of file tinymt32.h.
|
inlinestatic |
This function always returns 127
random | not used |
Definition at line 55 of file tinymt32.h.
|
inlinestatic |
Definition at line 60 of file tinymt32.h.
void tinymt32_init | ( | tinymt32_t * | random, |
uint32_t | seed | ||
) |
This function initializes the internal state array with a 32-bit unsigned integer seed.
random | tinymt state vector. |
seed | a 32-bit unsigned integer used as a seed. |
Definition at line 62 of file tinymt32.c.
Referenced by configureRusefiLuaHooks(), and initLaunchControl().
void tinymt32_init_by_array | ( | tinymt32_t * | random, |
uint32_t | init_key[], | ||
int | key_length | ||
) |
This function initializes the internal state array, with an array of 32-bit unsigned integers used as seeds
random | tinymt state vector. |
init_key | the array of 32-bit integers, used as a seed. |
key_length | the length of init_key. |
Definition at line 85 of file tinymt32.c.
|
inlinestatic |
This function changes internal state of tinymt32. Users should not call this function directly.
random | tinymt internal status |
Definition at line 70 of file tinymt32.h.
Referenced by tinymt32_generate_32double(), tinymt32_generate_float(), tinymt32_generate_float01(), tinymt32_generate_float12(), tinymt32_generate_floatOC(), tinymt32_generate_floatOO(), tinymt32_generate_uint32(), tinymt32_init(), and tinymt32_init_by_array().
|
inlinestatic |
This function outputs 32-bit unsigned integer from internal state. Users should not call this function directly.
random | tinymt internal status |
Definition at line 96 of file tinymt32.h.
Referenced by tinymt32_generate_32double(), tinymt32_generate_float(), and tinymt32_generate_uint32().
|
inlinestatic |
This function outputs floating point number from internal state. Users should not call this function directly.
random | tinymt internal status |
Definition at line 119 of file tinymt32.h.
Referenced by tinymt32_generate_float01(), and tinymt32_generate_float12().
|
inlinestatic |
This function outputs floating point number from internal state. Users should not call this function directly.
random | tinymt internal status |
Definition at line 149 of file tinymt32.h.
Referenced by tinymt32_generate_floatOO().