Home | History | Annotate | Download | only in useful-harnesses
      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