• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #define TRUE_VAL (!0)
2 #define FALSE_VAL 0
3 #define ARR_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
4 
5 typedef unsigned long long int uint64_t;
6 typedef long long int int64_t;
7 
8 /* ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~- */
9 struct 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 
19 struct 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 
29 struct 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 
37 struct 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