OpenWareLaboratory
|
Go to the source code of this file.
Macros | |
#define | _USE_MATH_DEFINES |
#define | abs(x) ((x)>0?(x):-(x)) |
#define | clamp(x, lo, hi) ((x)>(hi)?(hi):((x)<(lo)?(lo):(x))) |
#define | M_PI 3.14159265358979323846 |
#define | M_SQRT2 1.41421356237309504880 |
#define | max(a, b) ((a)>(b)?(a):(b)) |
#define | min(a, b) ((a)<(b)?(a):(b)) |
Functions | |
uint32_t | arm_rand32 () |
Generate an unsigned 32bit pseudo-random number using xorshifter algorithm. More... | |
float | arm_sqrtf (float in) |
void | arm_srand32 (uint32_t s) |
float | fast_atan2f (float a, float b) |
float | fast_exp10f (float x) |
float | fast_exp2f (float x) |
float | fast_expf (float x) |
float | fast_fmodf (float x, float y) |
float | fast_log10f (float x) |
float | fast_log2f (float x) |
uint32_t | fast_log2i (uint32_t x) |
void | fast_log_set_table (const float *table, int size) |
float | fast_logf (float x) |
void | fast_pow_set_table (const uint32_t *table, int size) |
float | fast_powf (float x, float y) |
float | randf () |
generate a random number between 0 and 1 More... | |
#define _USE_MATH_DEFINES |
Definition at line 8 of file basicmaths.h.
#define abs | ( | x | ) | ((x)>0?(x):-(x)) |
Definition at line 44 of file basicmaths.h.
#define clamp | ( | x, | |
lo, | |||
hi | |||
) | ((x)>(hi)?(hi):((x)<(lo)?(lo):(x))) |
Definition at line 47 of file basicmaths.h.
#define M_PI 3.14159265358979323846 |
Definition at line 52 of file basicmaths.h.
#define M_SQRT2 1.41421356237309504880 |
Definition at line 55 of file basicmaths.h.
#define max | ( | a, | |
b | |||
) | ((a)>(b)?(a):(b)) |
Definition at line 41 of file basicmaths.h.
#define min | ( | a, | |
b | |||
) | ((a)<(b)?(a):(b)) |
Definition at line 38 of file basicmaths.h.
uint32_t arm_rand32 | ( | ) |
Generate an unsigned 32bit pseudo-random number using xorshifter algorithm.
Aka xorshifter32. "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." – John von Neumann.
Definition at line 67 of file basicmaths.c.
References r32seed.
Referenced by WhiteNoiseGenerator::generate(), and randf().
float arm_sqrtf | ( | float | in | ) |
Definition at line 78 of file basicmaths.c.
void arm_srand32 | ( | uint32_t | s | ) |
Definition at line 58 of file basicmaths.c.
References r32seed.
float fast_atan2f | ( | float | a, |
float | b | ||
) |
Definition at line 91 of file basicmaths.c.
References M_PI.
float fast_exp10f | ( | float | x | ) |
Definition at line 133 of file basicmaths.c.
References M_LOG210, pow_precision, pow_table, and powFastLookup().
float fast_exp2f | ( | float | x | ) |
Definition at line 129 of file basicmaths.c.
References pow_precision, pow_table, and powFastLookup().
float fast_expf | ( | float | x | ) |
Definition at line 125 of file basicmaths.c.
References pow_precision, pow_table, and powFastLookup().
float fast_fmodf | ( | float | x, |
float | y | ||
) |
Definition at line 161 of file basicmaths.c.
float fast_log10f | ( | float | x | ) |
Definition at line 141 of file basicmaths.c.
References icsi_log(), log_precision, and log_table.
float fast_log2f | ( | float | x | ) |
Definition at line 146 of file basicmaths.c.
References icsi_log(), log_precision, and log_table.
uint32_t fast_log2i | ( | uint32_t | x | ) |
Definition at line 166 of file basicmaths.c.
Referenced by fast_log_set_table(), and fast_pow_set_table().
void fast_log_set_table | ( | const float * | table, |
int | size | ||
) |
Definition at line 156 of file basicmaths.c.
References fast_log2i(), log_precision, and log_table.
float fast_logf | ( | float | x | ) |
Definition at line 137 of file basicmaths.c.
References icsi_log(), log_precision, and log_table.
void fast_pow_set_table | ( | const uint32_t * | table, |
int | size | ||
) |
Definition at line 151 of file basicmaths.c.
References fast_log2i(), pow_precision, and pow_table.
float fast_powf | ( | float | x, |
float | y | ||
) |
Definition at line 121 of file basicmaths.c.
References pow_precision, pow_table, and powFastLookup().
float randf | ( | ) |
generate a random number between 0 and 1
Definition at line 74 of file basicmaths.c.
References arm_rand32().
Referenced by WhiteNoiseGenerator::generate(), GaussianNoiseGenerator::generate(), NoiseOscillator::generate(), FloatArray::noise(), and NoiseOscillator::reset().