void tst_bit_blaster() { ast_manager m; tst_adder(m, 4); tst_multiplier(m, 4); tst_le(m, 4); tst_eqs(m, 8); tst_sh(m, 4); }
static void tst2() { tst_eq(0, EN_NUMERAL, 0, EN_NUMERAL, true); tst_eq(0, EN_NUMERAL, 2, EN_NUMERAL, false); tst_eq(3, EN_NUMERAL, 0, EN_NUMERAL, false); tst_eq(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, false); tst_eq(0, EN_PLUS_INFINITY, 3, EN_NUMERAL, false); tst_eq(0, EN_PLUS_INFINITY, -2, EN_NUMERAL, false); tst_eq(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, false); tst_neq(0, EN_NUMERAL, 0, EN_NUMERAL, false); tst_neq(0, EN_NUMERAL, 2, EN_NUMERAL, true); tst_neq(3, EN_NUMERAL, 0, EN_NUMERAL, true); tst_neq(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, true); tst_neq(0, EN_PLUS_INFINITY, 3, EN_NUMERAL, true); tst_neq(0, EN_PLUS_INFINITY, -2, EN_NUMERAL, true); tst_neq(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, true); tst_lt(0, EN_MINUS_INFINITY, 10, EN_NUMERAL, true); tst_lt(0, EN_MINUS_INFINITY, 0, EN_NUMERAL, true); tst_lt(0, EN_MINUS_INFINITY, -3, EN_NUMERAL, true); tst_lt(30, EN_MINUS_INFINITY, 10, EN_NUMERAL, true); tst_lt(20, EN_MINUS_INFINITY, 0, EN_NUMERAL, true); tst_lt(-20, EN_MINUS_INFINITY, -3, EN_NUMERAL, true); tst_lt(0, EN_MINUS_INFINITY, 10, EN_PLUS_INFINITY, true); tst_lt(0, EN_MINUS_INFINITY, 0, EN_PLUS_INFINITY, true); tst_lt(10, EN_MINUS_INFINITY, -30, EN_PLUS_INFINITY, true); tst_lt(0, EN_PLUS_INFINITY, 10, EN_NUMERAL, false); tst_lt(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, false); tst_lt(0, EN_PLUS_INFINITY, -3, EN_NUMERAL, false); tst_lt(30, EN_PLUS_INFINITY, 10, EN_NUMERAL, false); tst_lt(20, EN_PLUS_INFINITY, 0, EN_NUMERAL, false); tst_lt(-20, EN_PLUS_INFINITY, -3, EN_NUMERAL, false); tst_lt(0, EN_PLUS_INFINITY, 10, EN_MINUS_INFINITY, false); tst_lt(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, false); tst_lt(10, EN_PLUS_INFINITY, -30, EN_MINUS_INFINITY, false); tst_lt(0, EN_NUMERAL, 0, EN_PLUS_INFINITY, true); tst_lt(20, EN_NUMERAL, 10, EN_PLUS_INFINITY, true); tst_lt(-20, EN_NUMERAL, -100, EN_PLUS_INFINITY, true); tst_lt(0, EN_NUMERAL, 10, EN_NUMERAL, true); tst_lt(0, EN_NUMERAL, 0, EN_NUMERAL, false); tst_lt(10, EN_NUMERAL, 10, EN_NUMERAL, false); tst_lt(0, EN_NUMERAL, -3, EN_NUMERAL, false); tst_lt(30, EN_NUMERAL, 10, EN_NUMERAL, false); tst_lt(30, EN_NUMERAL, 40, EN_NUMERAL, true); tst_lt(20, EN_NUMERAL, 0, EN_NUMERAL, false); tst_lt(-20, EN_NUMERAL, -3, EN_NUMERAL, true); tst_lt(0, EN_NUMERAL, 10, EN_MINUS_INFINITY, false); tst_lt(0, EN_NUMERAL, 0, EN_MINUS_INFINITY, false); tst_lt(10, EN_NUMERAL, -30, EN_MINUS_INFINITY, false); tst_le(0, EN_MINUS_INFINITY, 10, EN_NUMERAL, true); tst_le(0, EN_MINUS_INFINITY, 0, EN_NUMERAL, true); tst_le(0, EN_MINUS_INFINITY, -3, EN_NUMERAL, true); tst_le(30, EN_MINUS_INFINITY, 10, EN_NUMERAL, true); tst_le(20, EN_MINUS_INFINITY, 0, EN_NUMERAL, true); tst_le(-20, EN_MINUS_INFINITY, -3, EN_NUMERAL, true); tst_le(0, EN_MINUS_INFINITY, 10, EN_PLUS_INFINITY, true); tst_le(0, EN_MINUS_INFINITY, 0, EN_PLUS_INFINITY, true); tst_le(10, EN_MINUS_INFINITY, -30, EN_PLUS_INFINITY, true); tst_le(0, EN_PLUS_INFINITY, 10, EN_NUMERAL, false); tst_le(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, false); tst_le(0, EN_PLUS_INFINITY, -3, EN_NUMERAL, false); tst_le(30, EN_PLUS_INFINITY, 10, EN_NUMERAL, false); tst_le(20, EN_PLUS_INFINITY, 0, EN_NUMERAL, false); tst_le(-20, EN_PLUS_INFINITY, -3, EN_NUMERAL, false); tst_le(0, EN_PLUS_INFINITY, 10, EN_MINUS_INFINITY, false); tst_le(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, false); tst_le(10, EN_PLUS_INFINITY, -30, EN_MINUS_INFINITY, false); tst_le(0, EN_NUMERAL, 0, EN_PLUS_INFINITY, true); tst_le(20, EN_NUMERAL, 10, EN_PLUS_INFINITY, true); tst_le(-20, EN_NUMERAL, -100, EN_PLUS_INFINITY, true); tst_le(0, EN_NUMERAL, 10, EN_NUMERAL, true); tst_le(0, EN_NUMERAL, 0, EN_NUMERAL, true); tst_le(10, EN_NUMERAL, 10, EN_NUMERAL, true); tst_le(0, EN_NUMERAL, -3, EN_NUMERAL, false); tst_le(30, EN_NUMERAL, 10, EN_NUMERAL, false); tst_le(30, EN_NUMERAL, 40, EN_NUMERAL, true); tst_le(20, EN_NUMERAL, 0, EN_NUMERAL, false); tst_le(-20, EN_NUMERAL, -3, EN_NUMERAL, true); tst_le(0, EN_NUMERAL, 10, EN_MINUS_INFINITY, false); tst_le(0, EN_NUMERAL, 0, EN_MINUS_INFINITY, false); tst_le(10, EN_NUMERAL, -30, EN_MINUS_INFINITY, false); tst_ge(0, EN_MINUS_INFINITY, 10, EN_NUMERAL, false); tst_ge(0, EN_MINUS_INFINITY, 0, EN_NUMERAL, false); tst_ge(0, EN_MINUS_INFINITY, -3, EN_NUMERAL, false); tst_ge(30, EN_MINUS_INFINITY, 10, EN_NUMERAL, false); tst_ge(20, EN_MINUS_INFINITY, 0, EN_NUMERAL, false); tst_ge(-20, EN_MINUS_INFINITY, -3, EN_NUMERAL, false); tst_ge(0, EN_MINUS_INFINITY, 10, EN_PLUS_INFINITY, false); tst_ge(0, EN_MINUS_INFINITY, 0, EN_PLUS_INFINITY, false); tst_ge(10, EN_MINUS_INFINITY, -30, EN_PLUS_INFINITY, false); tst_ge(0, EN_PLUS_INFINITY, 10, EN_NUMERAL, true); tst_ge(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, true); tst_ge(0, EN_PLUS_INFINITY, -3, EN_NUMERAL, true); tst_ge(30, EN_PLUS_INFINITY, 10, EN_NUMERAL, true); tst_ge(20, EN_PLUS_INFINITY, 0, EN_NUMERAL, true); tst_ge(-20, EN_PLUS_INFINITY, -3, EN_NUMERAL, true); tst_ge(0, EN_PLUS_INFINITY, 10, EN_MINUS_INFINITY, true); tst_ge(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, true); tst_ge(10, EN_PLUS_INFINITY, -30, EN_MINUS_INFINITY, true); tst_ge(0, EN_NUMERAL, 0, EN_PLUS_INFINITY, false); tst_ge(20, EN_NUMERAL, 10, EN_PLUS_INFINITY, false); tst_ge(-20, EN_NUMERAL, -100, EN_PLUS_INFINITY, false); tst_ge(0, EN_NUMERAL, 10, EN_NUMERAL, false); tst_ge(0, EN_NUMERAL, 0, EN_NUMERAL, true); tst_ge(10, EN_NUMERAL, 10, EN_NUMERAL, true); tst_ge(0, EN_NUMERAL, -3, EN_NUMERAL, true); tst_ge(30, EN_NUMERAL, 10, EN_NUMERAL, true); tst_ge(30, EN_NUMERAL, 40, EN_NUMERAL, false); tst_ge(20, EN_NUMERAL, 0, EN_NUMERAL, true); tst_ge(-20, EN_NUMERAL, -3, EN_NUMERAL, false); tst_ge(0, EN_NUMERAL, 10, EN_MINUS_INFINITY, true); tst_ge(0, EN_NUMERAL, 0, EN_MINUS_INFINITY, true); tst_ge(10, EN_NUMERAL, -30, EN_MINUS_INFINITY, true); tst_gt(0, EN_MINUS_INFINITY, 10, EN_NUMERAL, false); tst_gt(0, EN_MINUS_INFINITY, 0, EN_NUMERAL, false); tst_gt(0, EN_MINUS_INFINITY, -3, EN_NUMERAL, false); tst_gt(30, EN_MINUS_INFINITY, 10, EN_NUMERAL, false); tst_gt(20, EN_MINUS_INFINITY, 0, EN_NUMERAL, false); tst_gt(-20, EN_MINUS_INFINITY, -3, EN_NUMERAL, false); tst_gt(0, EN_MINUS_INFINITY, 10, EN_PLUS_INFINITY, false); tst_gt(0, EN_MINUS_INFINITY, 0, EN_PLUS_INFINITY, false); tst_gt(10, EN_MINUS_INFINITY, -30, EN_PLUS_INFINITY, false); tst_gt(0, EN_PLUS_INFINITY, 10, EN_NUMERAL, true); tst_gt(0, EN_PLUS_INFINITY, 0, EN_NUMERAL, true); tst_gt(0, EN_PLUS_INFINITY, -3, EN_NUMERAL, true); tst_gt(30, EN_PLUS_INFINITY, 10, EN_NUMERAL, true); tst_gt(20, EN_PLUS_INFINITY, 0, EN_NUMERAL, true); tst_gt(-20, EN_PLUS_INFINITY, -3, EN_NUMERAL, true); tst_gt(0, EN_PLUS_INFINITY, 10, EN_MINUS_INFINITY, true); tst_gt(0, EN_PLUS_INFINITY, 0, EN_MINUS_INFINITY, true); tst_gt(10, EN_PLUS_INFINITY, -30, EN_MINUS_INFINITY, true); tst_gt(0, EN_NUMERAL, 0, EN_PLUS_INFINITY, false); tst_gt(20, EN_NUMERAL, 10, EN_PLUS_INFINITY, false); tst_gt(-20, EN_NUMERAL, -100, EN_PLUS_INFINITY, false); tst_gt(0, EN_NUMERAL, 10, EN_NUMERAL, false); tst_gt(0, EN_NUMERAL, 0, EN_NUMERAL, false); tst_gt(10, EN_NUMERAL, 10, EN_NUMERAL, false); tst_gt(0, EN_NUMERAL, -3, EN_NUMERAL, true); tst_gt(30, EN_NUMERAL, 10, EN_NUMERAL, true); tst_gt(30, EN_NUMERAL, 40, EN_NUMERAL, false); tst_gt(20, EN_NUMERAL, 0, EN_NUMERAL, true); tst_gt(-20, EN_NUMERAL, -3, EN_NUMERAL, false); tst_gt(0, EN_NUMERAL, 10, EN_MINUS_INFINITY, true); tst_gt(0, EN_NUMERAL, 0, EN_MINUS_INFINITY, true); tst_gt(10, EN_NUMERAL, -30, EN_MINUS_INFINITY, true); }