44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#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;
|
|
};
|