| #define TRUE_VAL (!0) |
| #define FALSE_VAL 0 |
| #define ARR_SIZE(arr) (sizeof(arr)/sizeof(arr[0])) |
| |
| typedef unsigned long long int uint64_t; |
| typedef long long int int64_t; |
| |
| /* ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- */ |
| struct harness_int64_pred { |
| const char *fmt_string; |
| int64_t *lhs; |
| int64_t *rhs; |
| int64_t *select_a; |
| int64_t *select_b; |
| int expected; |
| int64_t *select_expected; |
| }; |
| |
| struct harness_uint64_pred { |
| const char *fmt_string; |
| uint64_t *lhs; |
| uint64_t *rhs; |
| uint64_t *select_a; |
| uint64_t *select_b; |
| int expected; |
| uint64_t *select_expected; |
| }; |
| |
| struct int64_pred_s { |
| const char *name; |
| int (*predfunc) (int64_t, int64_t); |
| int64_t (*selfunc) (int64_t, int64_t, int64_t, int64_t); |
| struct harness_int64_pred *tests; |
| int n_tests; |
| }; |
| |
| struct uint64_pred_s { |
| const char *name; |
| int (*predfunc) (uint64_t, uint64_t); |
| uint64_t (*selfunc) (uint64_t, uint64_t, uint64_t, uint64_t); |
| struct harness_uint64_pred *tests; |
| int n_tests; |
| }; |