#[macro_use]
mod op;
use crate::bitvector::abstr::dual_interval::CDualInterval;
use crate::bitvector::concr::CConcreteBitvector;
use crate::traits::forward::*;
uni_op_test!(bit_not);
uni_op_test!(arith_neg);
bi_op_test!(add, true);
bi_op_test!(sub, true);
bi_op_test!(mul, false);
divrem_op_test!(udiv, false);
divrem_op_test!(sdiv, false);
divrem_op_test!(urem, false);
divrem_op_test!(srem, false);
bi_op_test!(bit_and, true);
bi_op_test!(bit_or, true);
bi_op_test!(bit_xor, true);
comparison_op_test!(eq, true);
comparison_op_test!(slt, true);
comparison_op_test!(sle, true);
comparison_op_test!(ult, true);
comparison_op_test!(ule, true);
bi_op_test!(logic_shl, false);
bi_op_test!(logic_shr, false);
bi_op_test!(arith_shr, true);
ext_op_test!(uext, false);
ext_op_test!(sext, false);