Motr  M0
parity_math_ut.c File Reference
#include "lib/types.h"
#include "lib/assert.h"
#include "lib/memory.h"
#include "lib/errno.h"
#include "lib/arith.h"
#include "lib/ub.h"
#include "ut/ut.h"
#include "sns/parity_math.h"
Include dependency graph for parity_math_ut.c:

Go to the source code of this file.

Data Structures

struct  mat_collection
 
struct  sns_ir_node
 

Macros

#define KB(x)   ((x) * 1024)
 
#define MB(x)   (KB(x) * 1024)
 
#define _TESTS
 

Enumerations

enum  { MAX_NUM_ROWS = 20 }
 
enum  {
  DATA_UNIT_COUNT_MAX = 30, PARITY_UNIT_COUNT_MAX = 12, DATA_TO_PRTY_RATIO_MAX = DATA_UNIT_COUNT_MAX / PARITY_UNIT_COUNT_MAX, UNIT_BUFF_SIZE_MAX = MB(1),
  DATA_UNIT_COUNT = 15, PARITY_UNIT_COUNT = 1, RS_MAX_PARITY_UNIT_COUNT = DATA_UNIT_COUNT - 1, NODES = 15
}
 
enum  { NUM_SEG = 8, SEG_SIZE = 64 }
 
enum  recovery_type { FAIL_VECTOR, FAIL_INDEX }
 
enum  failure_type { ALL_DATA, ALL_PARITY, MIXED_FAILURE }
 
enum  ir_matrix_type { IRM_VANDMAT, IRM_NORM_VANDMAT, IRM_SINGULAR_MAT }
 
enum  { UB_ITER = 100 }
 

Functions

static void test_matrix_inverse (void)
 
static void test_incr_recov_init (void)
 
static void test_incr_recov (void)
 
static void test_invalid_input (void)
 
static int matrix_init (struct mat_collection *)
 
static void mat_fill (struct m0_matrix *mat, int N, int K, enum ir_matrix_type mt)
 
static void identity_row_set (struct m0_matrix *mat, int row)
 
static void vandermonde_row_set (struct m0_matrix *mat, int row)
 
static void null_matrix_fill (struct m0_matrix *mat, int N)
 
static void invert (int N, int K, enum ir_matrix_type mt, struct mat_collection *matrices)
 
static bool mat_compare (struct m0_matrix *mat1, struct m0_matrix *mat2)
 
static void matrix_fini (struct mat_collection *matrices)
 
static void parity_calculate (struct m0_parity_math *math, struct m0_bufvec *x, struct m0_bufvec *p, uint32_t num_seg, uint32_t seg_size)
 
static void direct_recover (struct m0_parity_math *math, struct m0_bufvec *x, struct m0_bufvec *p)
 
static uint32_t * failure_setup (struct m0_parity_math *math, uint32_t total_failures, enum failure_type ft)
 
static void array_randomly_fill (uint32_t *r_arr, uint32_t size, uint32_t range)
 
static void rhs_prepare (const struct m0_sns_ir *ir, struct m0_matvec *des, const struct m0_bufvec *x, const struct m0_bufvec *p, const uint32_t *failed_arr, uint32_t total_failures)
 
static void reconstruct (const struct m0_sns_ir *ir, const struct m0_matvec *b, struct m0_matvec *r)
 
static bool compare (const struct m0_sns_ir *ir, const uint32_t *failed_arr, const struct m0_bufvec *x, const struct m0_matvec *r)
 
static void incremental_recover (struct m0_parity_math *math, struct m0_bufvec *x, struct m0_bufvec *p)
 
static void sns_ir_nodes_init (struct m0_parity_math *math, struct sns_ir_node *nodes, uint32_t *failed_arr, uint32_t node_nr, uint32_t alive_nr)
 
static void failure_register (struct m0_sns_ir *ir, struct m0_bufvec *recov_arr, uint32_t *failed_arr, uint32_t total_failures)
 
static void alive_arrays_fill (struct m0_sns_ir *ir, uint32_t *alive_blocks, uint32_t start_idx, uint32_t count)
 
static void sns_ir_nodes_recover (struct sns_ir_node *node, uint32_t node_nr, struct m0_bufvec *x, struct m0_bufvec *p)
 
static void sns_ir_nodes_gather (struct sns_ir_node *node, uint32_t node_nr, struct m0_bufvec *x, struct m0_bufvec *p, uint32_t *failed_arr)
 
static void sns_ir_nodes_compare (struct sns_ir_node *node, struct m0_bufvec *x, struct m0_bufvec *p)
 
static void sns_ir_nodes_fini (struct sns_ir_node *node, uint32_t node_nr, uint32_t total_failures)
 
static uint32_t block_nr (const struct m0_sns_ir *ir)
 
static void bufvec_initialize (struct m0_bufvec **bvec, uint32_t count, uint32_t num_seg, uint32_t size)
 
static void bufvec_fill (struct m0_bufvec *x)
 
static void bufvec_fini (struct m0_bufvec *bvec, uint32_t count)
 
static bool bufvec_eq (struct m0_bufvec *bvec1, struct m0_bufvec *bvec2)
 
static void buf_initialize (struct m0_buf *buf, uint32_t size, uint32_t len)
 
static void buf_free (struct m0_buf *buf, uint32_t count)
 
static void bufvec_buf (struct m0_bufvec *bvec, struct m0_buf *buf, uint32_t count, bool dir)
 
static void unit_spoil (const uint32_t buff_size, const uint32_t fail_count, const uint32_t data_count)
 
static bool expected_eq (const uint32_t data_count, const uint32_t buff_size)
 
static bool config_generate (uint32_t *data_count, uint32_t *parity_count, uint32_t *buff_size, const enum m0_parity_cal_algo algo)
 
static bool rand_rs_config_generate (uint32_t *data_count, uint32_t *parity_count, uint32_t *buff_size)
 
static void test_recovery (const enum m0_parity_cal_algo algo, const enum recovery_type rt)
 
static void test_rs_fv_recover (void)
 
static void test_rs_fv_rand_recover (void)
 
static void test_xor_fv_recover (void)
 
static void test_xor_fail_idx_recover (void)
 
static void test_buffer_xor (void)
 
static void test_parity_math_diff (uint32_t parity_cnt)
 
static void test_parity_math_diff_xor (void)
 
static void test_parity_math_diff_rs (void)
 
static void test_incr_recov_rs (void)
 
static void _buf_free (struct m0_buf *buf)
 
static int ub_init (const char *opts M0_UNUSED)
 
void parity_math_tb (void)
 
static void ub_small_4K (int iter)
 
static void ub_medium_4K (int iter)
 
static void ub_large_4K (int iter)
 
static void ub_small_1M (int iter)
 
static void ub_medium_1M (int iter)
 
static void ub_large_1M (int iter)
 
static void ub_small_32K (int iter)
 
static void ub_medium_32K (int iter)
 
static void ub_large_32K (int iter)
 
static void ub_small_4_2_4K (int iter)
 
static void ub_small_4_2_256K (int iter)
 
static void ub_small_4_2_1M (int iter)
 

Variables

static uint8_t expected [DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
 
static uint8_t data [DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
 
static uint8_t parity [DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
 
static uint8_t fail [DATA_UNIT_COUNT_MAX+PARITY_UNIT_COUNT_MAX]
 
static int32_t duc = DATA_UNIT_COUNT_MAX
 
static int32_t puc = PARITY_UNIT_COUNT_MAX
 
static int32_t fuc = PARITY_UNIT_COUNT_MAX
 
static uint32_t UNIT_BUFF_SIZE = 256
 
static int32_t fail_index_xor
 
static uint64_t seed = 42
 
struct m0_ut_suite parity_math_ut
 
struct m0_ut_suite parity_math_ssse3_ut
 
struct m0_ub_set m0_parity_math_ub
 

Macro Definition Documentation

◆ _TESTS

#define _TESTS
Value:
{ "reed_solomon_recover_with_fail_vec", test_rs_fv_recover }, \
{ "reed_solomon_recover_with_fail_vec_rand", test_rs_fv_rand_recover }, \
{ "xor_recover_with_fail_vec", test_xor_fv_recover }, \
{ "xor_recover_with_fail_index", test_xor_fail_idx_recover }, \
{ "buffer_xor", test_buffer_xor }, \
{ "parity_math_diff_xor", test_parity_math_diff_xor }, \
{ "parity_math_diff_rs", test_parity_math_diff_rs }, \
{ "incr_recov_rs", test_incr_recov_rs }, \
{ NULL, NULL }
#define NULL
Definition: misc.h:38
static void test_xor_fail_idx_recover(void)
static void test_parity_math_diff_xor(void)
static void test_parity_math_diff_rs(void)
static void test_incr_recov_rs(void)
static void test_xor_fv_recover(void)
static void test_rs_fv_rand_recover(void)
static void test_rs_fv_recover(void)
static void test_buffer_xor(void)

Definition at line 1405 of file parity_math_ut.c.

◆ KB

#define KB (   x)    ((x) * 1024)

Definition at line 32 of file parity_math_ut.c.

◆ MB

#define MB (   x)    (KB(x) * 1024)

Definition at line 33 of file parity_math_ut.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_NUM_ROWS 

Definition at line 35 of file parity_math_ut.c.

◆ anonymous enum

anonymous enum
Enumerator
DATA_UNIT_COUNT_MAX 
PARITY_UNIT_COUNT_MAX 
DATA_TO_PRTY_RATIO_MAX 
UNIT_BUFF_SIZE_MAX 
DATA_UNIT_COUNT 
PARITY_UNIT_COUNT 
RS_MAX_PARITY_UNIT_COUNT 
NODES 

Definition at line 39 of file parity_math_ut.c.

◆ anonymous enum

anonymous enum
Enumerator
NUM_SEG 
SEG_SIZE 

Definition at line 50 of file parity_math_ut.c.

◆ anonymous enum

anonymous enum
Enumerator
UB_ITER 

Definition at line 1589 of file parity_math_ut.c.

◆ failure_type

Enumerator
ALL_DATA 
ALL_PARITY 
MIXED_FAILURE 

Definition at line 86 of file parity_math_ut.c.

◆ ir_matrix_type

Enumerator
IRM_VANDMAT 
IRM_NORM_VANDMAT 
IRM_SINGULAR_MAT 

Definition at line 92 of file parity_math_ut.c.

◆ recovery_type

Enumerator
FAIL_VECTOR 
FAIL_INDEX 

Definition at line 73 of file parity_math_ut.c.

Function Documentation

◆ _buf_free()

static void _buf_free ( struct m0_buf buf)
static

Definition at line 1353 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ alive_arrays_fill()

static void alive_arrays_fill ( struct m0_sns_ir ir,
uint32_t *  alive_blocks,
uint32_t  start_idx,
uint32_t  count 
)
static

Definition at line 1069 of file parity_math_ut.c.

Here is the caller graph for this function:

◆ array_randomly_fill()

static void array_randomly_fill ( uint32_t *  r_arr,
uint32_t  size,
uint32_t  range 
)
static

Definition at line 858 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ block_nr()

static uint32_t block_nr ( const struct m0_sns_ir ir)
inlinestatic

Definition at line 1400 of file parity_math_ut.c.

Here is the caller graph for this function:

◆ buf_free()

static void buf_free ( struct m0_buf buf,
uint32_t  count 
)
static

Definition at line 1371 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buf_initialize()

static void buf_initialize ( struct m0_buf buf,
uint32_t  size,
uint32_t  len 
)
static

Definition at line 1359 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bufvec_buf()

static void bufvec_buf ( struct m0_bufvec bvec,
struct m0_buf buf,
uint32_t  count,
bool  dir 
)
static

Definition at line 1326 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bufvec_eq()

static bool bufvec_eq ( struct m0_bufvec bvec1,
struct m0_bufvec bvec2 
)
static

Definition at line 1380 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bufvec_fill()

static void bufvec_fill ( struct m0_bufvec x)
static

Definition at line 1309 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bufvec_fini()

static void bufvec_fini ( struct m0_bufvec bvec,
uint32_t  count 
)
static

Definition at line 1299 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bufvec_initialize()

static void bufvec_initialize ( struct m0_bufvec **  bvec,
uint32_t  count,
uint32_t  num_seg,
uint32_t  size 
)
static

Definition at line 1284 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compare()

static bool compare ( const struct m0_sns_ir ir,
const uint32_t *  failed_arr,
const struct m0_bufvec x,
const struct m0_matvec r 
)
static

Definition at line 923 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ config_generate()

static bool config_generate ( uint32_t *  data_count,
uint32_t *  parity_count,
uint32_t *  buff_size,
const enum m0_parity_cal_algo  algo 
)
static

Definition at line 195 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ direct_recover()

static void direct_recover ( struct m0_parity_math math,
struct m0_bufvec x,
struct m0_bufvec p 
)
static

Definition at line 787 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expected_eq()

static bool expected_eq ( const uint32_t  data_count,
const uint32_t  buff_size 
)
static

Definition at line 189 of file parity_math_ut.c.

Here is the caller graph for this function:

◆ failure_register()

static void failure_register ( struct m0_sns_ir ir,
struct m0_bufvec recov_arr,
uint32_t *  failed_arr,
uint32_t  total_failures 
)
static

Definition at line 1053 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ failure_setup()

static uint32_t * failure_setup ( struct m0_parity_math math,
uint32_t  total_failures,
enum failure_type  ft 
)
static

Definition at line 833 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ identity_row_set()

static void identity_row_set ( struct m0_matrix mat,
int  row 
)
static

Definition at line 669 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ incremental_recover()

static void incremental_recover ( struct m0_parity_math math,
struct m0_bufvec x,
struct m0_bufvec p 
)
static

Definition at line 966 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ invert()

static void invert ( int  N,
int  K,
enum ir_matrix_type  mt,
struct mat_collection matrices 
)
static

Definition at line 606 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mat_compare()

static bool mat_compare ( struct m0_matrix mat1,
struct m0_matrix mat2 
)
static

Definition at line 705 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mat_fill()

static void mat_fill ( struct m0_matrix mat,
int  N,
int  K,
enum ir_matrix_type  mt 
)
static

Definition at line 622 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ matrix_fini()

static void matrix_fini ( struct mat_collection matrices)
static

Definition at line 718 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ matrix_init()

static int matrix_init ( struct mat_collection matrices)
static

Definition at line 584 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ null_matrix_fill()

static void null_matrix_fill ( struct m0_matrix mat,
int  N 
)
static

Definition at line 696 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parity_calculate()

static void parity_calculate ( struct m0_parity_math math,
struct m0_bufvec x,
struct m0_bufvec p,
uint32_t  num_seg,
uint32_t  seg_size 
)
static

Definition at line 762 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parity_math_tb()

void parity_math_tb ( void  )

Definition at line 1437 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rand_rs_config_generate()

static bool rand_rs_config_generate ( uint32_t *  data_count,
uint32_t *  parity_count,
uint32_t *  buff_size 
)
static

Definition at line 266 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ reconstruct()

static void reconstruct ( const struct m0_sns_ir ir,
const struct m0_matvec b,
struct m0_matvec r 
)
static

Definition at line 897 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rhs_prepare()

static void rhs_prepare ( const struct m0_sns_ir ir,
struct m0_matvec des,
const struct m0_bufvec x,
const struct m0_bufvec p,
const uint32_t *  failed_arr,
uint32_t  total_failures 
)
static

Definition at line 875 of file parity_math_ut.c.

Here is the caller graph for this function:

◆ sns_ir_nodes_compare()

static void sns_ir_nodes_compare ( struct sns_ir_node node,
struct m0_bufvec x,
struct m0_bufvec p 
)
static

Definition at line 1213 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sns_ir_nodes_fini()

static void sns_ir_nodes_fini ( struct sns_ir_node node,
uint32_t  node_nr,
uint32_t  total_failures 
)
static

Definition at line 1237 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sns_ir_nodes_gather()

static void sns_ir_nodes_gather ( struct sns_ir_node node,
uint32_t  node_nr,
struct m0_bufvec x,
struct m0_bufvec p,
uint32_t *  failed_arr 
)
static

Definition at line 1141 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sns_ir_nodes_init()

static void sns_ir_nodes_init ( struct m0_parity_math math,
struct sns_ir_node nodes,
uint32_t *  failed_arr,
uint32_t  node_nr,
uint32_t  alive_nr 
)
static

Definition at line 1003 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sns_ir_nodes_recover()

static void sns_ir_nodes_recover ( struct sns_ir_node node,
uint32_t  node_nr,
struct m0_bufvec x,
struct m0_bufvec p 
)
static

Definition at line 1090 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_buffer_xor()

static void test_buffer_xor ( void  )
static

Definition at line 430 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_incr_recov()

static void test_incr_recov ( void  )
static

Definition at line 940 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_incr_recov_init()

static void test_incr_recov_init ( void  )
static

Definition at line 732 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_incr_recov_rs()

static void test_incr_recov_rs ( void  )
static

Definition at line 549 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_invalid_input()

static void test_invalid_input ( void  )
static

Definition at line 1253 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_matrix_inverse()

static void test_matrix_inverse ( void  )
static

Definition at line 557 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_parity_math_diff()

static void test_parity_math_diff ( uint32_t  parity_cnt)
static

Definition at line 464 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_parity_math_diff_rs()

static void test_parity_math_diff_rs ( void  )
static

Definition at line 541 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_parity_math_diff_xor()

static void test_parity_math_diff_xor ( void  )
static

Definition at line 536 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_recovery()

static void test_recovery ( const enum m0_parity_cal_algo  algo,
const enum recovery_type  rt 
)
static

Definition at line 313 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_rs_fv_rand_recover()

static void test_rs_fv_rand_recover ( void  )
static

Definition at line 371 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_rs_fv_recover()

static void test_rs_fv_recover ( void  )
static

Definition at line 366 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_xor_fail_idx_recover()

static void test_xor_fail_idx_recover ( void  )
static

Definition at line 423 of file parity_math_ut.c.

Here is the call graph for this function:

◆ test_xor_fv_recover()

static void test_xor_fv_recover ( void  )
static

Definition at line 416 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_init()

static int ub_init ( const char *opts  M0_UNUSED)
static

Definition at line 1432 of file parity_math_ut.c.

◆ ub_large_1M()

static void ub_large_1M ( int  iter)
static

Definition at line 1527 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_large_32K()

static void ub_large_32K ( int  iter)
static

Definition at line 1554 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_large_4K()

static void ub_large_4K ( int  iter)
static

Definition at line 1500 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_medium_1M()

static void ub_medium_1M ( int  iter)
static

Definition at line 1518 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_medium_32K()

static void ub_medium_32K ( int  iter)
static

Definition at line 1545 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_medium_4K()

static void ub_medium_4K ( int  iter)
static

Definition at line 1491 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_1M()

static void ub_small_1M ( int  iter)
static

Definition at line 1509 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_32K()

static void ub_small_32K ( int  iter)
static

Definition at line 1536 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_4_2_1M()

static void ub_small_4_2_1M ( int  iter)
static

Definition at line 1580 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_4_2_256K()

static void ub_small_4_2_256K ( int  iter)
static

Definition at line 1571 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_4_2_4K()

static void ub_small_4_2_4K ( int  iter)
static

Definition at line 1562 of file parity_math_ut.c.

Here is the call graph for this function:

◆ ub_small_4K()

static void ub_small_4K ( int  iter)
static

Definition at line 1482 of file parity_math_ut.c.

Here is the call graph for this function:

◆ unit_spoil()

static void unit_spoil ( const uint32_t  buff_size,
const uint32_t  fail_count,
const uint32_t  data_count 
)
static

Definition at line 174 of file parity_math_ut.c.

Here is the caller graph for this function:

◆ vandermonde_row_set()

static void vandermonde_row_set ( struct m0_matrix mat,
int  row 
)
static

Definition at line 684 of file parity_math_ut.c.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ data

uint8_t data[DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
static

Definition at line 56 of file parity_math_ut.c.

◆ duc

int32_t duc = DATA_UNIT_COUNT_MAX
static

Definition at line 59 of file parity_math_ut.c.

◆ expected

uint8_t expected[DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
static

Definition at line 55 of file parity_math_ut.c.

◆ fail

Definition at line 58 of file parity_math_ut.c.

◆ fail_index_xor

int32_t fail_index_xor
static

Definition at line 63 of file parity_math_ut.c.

◆ fuc

int32_t fuc = PARITY_UNIT_COUNT_MAX
static

Definition at line 61 of file parity_math_ut.c.

◆ m0_parity_math_ub

struct m0_ub_set m0_parity_math_ub

Definition at line 1591 of file parity_math_ut.c.

◆ parity

uint8_t parity[DATA_UNIT_COUNT_MAX][UNIT_BUFF_SIZE_MAX]
static

Definition at line 57 of file parity_math_ut.c.

◆ parity_math_ssse3_ut

struct m0_ut_suite parity_math_ssse3_ut
Initial value:
= {
.ts_name = "parity_math_ssse3-ut",
.ts_tests = { _TESTS }
}
#define _TESTS

Definition at line 1424 of file parity_math_ut.c.

◆ parity_math_ut

struct m0_ut_suite parity_math_ut
Initial value:
= {
.ts_name = "parity_math-ut",
.ts_init = NULL,
.ts_fini = NULL,
.ts_tests = { _TESTS }
}
#define NULL
Definition: misc.h:38
#define _TESTS

Definition at line 1416 of file parity_math_ut.c.

◆ puc

int32_t puc = PARITY_UNIT_COUNT_MAX
static

Definition at line 60 of file parity_math_ut.c.

◆ seed

uint64_t seed = 42
static

Definition at line 64 of file parity_math_ut.c.

◆ UNIT_BUFF_SIZE

uint32_t UNIT_BUFF_SIZE = 256
static

Definition at line 62 of file parity_math_ut.c.