1#define TRUE_VAL (!0) 2#define FALSE_VAL 0 3#define ARR_SIZE(arr) (sizeof(arr)/sizeof(arr[0])) 4 5typedef unsigned long long int uint64_t; 6typedef long long int int64_t; 7 8/* ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- */ 9struct harness_int64_pred { 10 const char *fmt_string; 11 int64_t *lhs; 12 int64_t *rhs; 13 int64_t *select_a; 14 int64_t *select_b; 15 int expected; 16 int64_t *select_expected; 17}; 18 19struct harness_uint64_pred { 20 const char *fmt_string; 21 uint64_t *lhs; 22 uint64_t *rhs; 23 uint64_t *select_a; 24 uint64_t *select_b; 25 int expected; 26 uint64_t *select_expected; 27}; 28 29struct int64_pred_s { 30 const char *name; 31 int (*predfunc) (int64_t, int64_t); 32 int64_t (*selfunc) (int64_t, int64_t, int64_t, int64_t); 33 struct harness_int64_pred *tests; 34 int n_tests; 35}; 36 37struct uint64_pred_s { 38 const char *name; 39 int (*predfunc) (uint64_t, uint64_t); 40 uint64_t (*selfunc) (uint64_t, uint64_t, uint64_t, uint64_t); 41 struct harness_uint64_pred *tests; 42 int n_tests; 43}; 44