|
checkasm 1.0.1
Assembly testing and benchmarking framework
|
Functions for filling buffers with various patterns of data. More...
Macros | |
| #define | CLEAR_BUF(buf) |
| Clear a fixed size buffer (convenience macro). | |
| #define | RANDOMIZE_BUF(buf) |
| Fill a fixed size buffer wth random data (convenience macro). | |
| #define | INITIALIZE_BUF(buf) |
| Fill a fixed size buffer with pathological test data (convenience macro). | |
Functions | |
| CHECKASM_API void | checkasm_randomize (void *buf, size_t bytes) |
| Fill a buffer with uniformly chosen random bytes. | |
| CHECKASM_API void | checkasm_randomize_mask8 (uint8_t *buf, int width, uint8_t mask) |
| Fill a uint8_t buffer with random values chosen uniformly within a mask. | |
| CHECKASM_API void | checkasm_randomize_mask16 (uint16_t *buf, int width, uint16_t mask) |
| Fill a uint16_t buffer with random values chosen uniformly within a mask. | |
| CHECKASM_API void | checkasm_randomize_range (double *buf, int width, double range) |
| Fill a double buffer with random values chosen uniformly below a limit. | |
| CHECKASM_API void | checkasm_randomize_rangef (float *buf, int width, float range) |
| Fill a float buffer with random values chosen uniformly below a limit. | |
| CHECKASM_API void | checkasm_randomize_dist (double *buf, int width, CheckasmDist dist) |
| Fill a double buffer with normally distributed random values. | |
| CHECKASM_API void | checkasm_randomize_distf (float *buf, int width, CheckasmDist dist) |
| Fill a float buffer with normally distributed random values. | |
| CHECKASM_API void | checkasm_randomize_norm (double *buf, int width) |
| Fill a double buffer with values from a standard normal distribution. | |
| CHECKASM_API void | checkasm_randomize_normf (float *buf, int width) |
| Fill a float buffer with values from a standard normal distribution. | |
| CHECKASM_API void | checkasm_clear (void *buf, size_t bytes) |
| Clear a buffer to a pre-determined pattern (currently 0xAA). | |
| CHECKASM_API void | checkasm_clear8 (uint8_t *buf, int width, uint8_t val) |
| Fill a uint8_t buffer with a constant value. | |
| CHECKASM_API void | checkasm_clear16 (uint16_t *buf, int width, uint16_t val) |
| Fill a uint16_t buffer with a constant value. | |
| CHECKASM_API void | checkasm_init (void *buf, size_t bytes) |
| Initialize a buffer with pathological test patterns. | |
| CHECKASM_API void | checkasm_init_mask8 (uint8_t *buf, int width, uint8_t mask) |
| Initialize a uint8_t buffer with pathological values within a mask. | |
| CHECKASM_API void | checkasm_init_mask16 (uint16_t *buf, int width, uint16_t mask) |
| Initialize a uint16_t buffer with pathological values within a mask. | |
Functions for filling buffers with various patterns of data.
A collection of functions to initialize memory buffers with random data, constant values, or pathological test patterns. These are useful for setting up input/output data buffers for checkasm tests.
| #define CLEAR_BUF | ( | buf | ) |
Clear a fixed size buffer (convenience macro).
| buf | Fixed-size buffer array to clear |
| #define INITIALIZE_BUF | ( | buf | ) |
Fill a fixed size buffer with pathological test data (convenience macro).
| buf | Fixed-size buffer array to initialize |
| #define RANDOMIZE_BUF | ( | buf | ) |
Fill a fixed size buffer wth random data (convenience macro).
| buf | Fixed-size buffer array to randomize |
| CHECKASM_API void checkasm_clear | ( | void * | buf, |
| size_t | bytes ) |
Clear a buffer to a pre-determined pattern (currently 0xAA).
| [out] | buf | Buffer to clear |
| [in] | bytes | Number of bytes to clear |
| CHECKASM_API void checkasm_clear16 | ( | uint16_t * | buf, |
| int | width, | ||
| uint16_t | val ) |
Fill a uint16_t buffer with a constant value.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to set |
| [in] | val | Value to write to each element |
| CHECKASM_API void checkasm_clear8 | ( | uint8_t * | buf, |
| int | width, | ||
| uint8_t | val ) |
Fill a uint8_t buffer with a constant value.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to set |
| [in] | val | Value to write to each element |
| CHECKASM_API void checkasm_init | ( | void * | buf, |
| size_t | bytes ) |
Initialize a buffer with pathological test patterns.
Fills a buffer with a random mixture of edge cases, test patterns, and random data designed to trigger potential bugs. The exact pattern depends on the random seed and may include a mix of low values, high values, alternating bits, random bytes, and so on.
| [out] | buf | Buffer to initialize |
| [in] | bytes | Number of bytes to initialize |
| CHECKASM_API void checkasm_init_mask16 | ( | uint16_t * | buf, |
| int | width, | ||
| uint16_t | mask ) |
Initialize a uint16_t buffer with pathological values within a mask.
| [out] | buf | Buffer to initialize |
| [in] | width | Number of elements to initialize |
| [in] | mask | Bit mask to apply to values |
| CHECKASM_API void checkasm_init_mask8 | ( | uint8_t * | buf, |
| int | width, | ||
| uint8_t | mask ) |
Initialize a uint8_t buffer with pathological values within a mask.
| [out] | buf | Buffer to initialize |
| [in] | width | Number of elements to initialize |
| [in] | mask | Bit mask to apply to values |
| CHECKASM_API void checkasm_randomize | ( | void * | buf, |
| size_t | bytes ) |
Fill a buffer with uniformly chosen random bytes.
| [out] | buf | Buffer to fill |
| [in] | bytes | Number of bytes to randomize |
| CHECKASM_API void checkasm_randomize_dist | ( | double * | buf, |
| int | width, | ||
| CheckasmDist | dist ) |
Fill a double buffer with normally distributed random values.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | dist | Distribution parameters (mean and standard deviation) |
| CHECKASM_API void checkasm_randomize_distf | ( | float * | buf, |
| int | width, | ||
| CheckasmDist | dist ) |
Fill a float buffer with normally distributed random values.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | dist | Distribution parameters (mean and standard deviation) |
| CHECKASM_API void checkasm_randomize_mask16 | ( | uint16_t * | buf, |
| int | width, | ||
| uint16_t | mask ) |
Fill a uint16_t buffer with random values chosen uniformly within a mask.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | mask | Bit mask to apply to each random value |
| CHECKASM_API void checkasm_randomize_mask8 | ( | uint8_t * | buf, |
| int | width, | ||
| uint8_t | mask ) |
Fill a uint8_t buffer with random values chosen uniformly within a mask.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | mask | Bit mask to apply to each random value |
| CHECKASM_API void checkasm_randomize_norm | ( | double * | buf, |
| int | width ) |
Fill a double buffer with values from a standard normal distribution.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| CHECKASM_API void checkasm_randomize_normf | ( | float * | buf, |
| int | width ) |
Fill a float buffer with values from a standard normal distribution.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| CHECKASM_API void checkasm_randomize_range | ( | double * | buf, |
| int | width, | ||
| double | range ) |
Fill a double buffer with random values chosen uniformly below a limit.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | range | Exclusive upper bound on value (range is [0, range)) |
| CHECKASM_API void checkasm_randomize_rangef | ( | float * | buf, |
| int | width, | ||
| float | range ) |
Fill a float buffer with random values chosen uniformly below a limit.
| [out] | buf | Buffer to fill |
| [in] | width | Number of elements to randomize |
| [in] | range | Exclusive upper bound on value (range is [0, range)) |