18 if(expr.
id()==ID_bitnot)
25 else if(expr.
id()==ID_bitand || expr.
id()==ID_bitor ||
26 expr.
id()==ID_bitxor ||
27 expr.
id()==ID_bitnand || expr.
id()==ID_bitnor ||
28 expr.
id()==ID_bitxnor)
41 for(std::size_t i=0; i<width; i++)
43 if(expr.
id()==ID_bitand)
45 else if(expr.
id()==ID_bitor)
47 else if(expr.
id()==ID_bitxor)
49 else if(expr.
id()==ID_bitnand)
51 else if(expr.
id()==ID_bitnor)
53 else if(expr.
id()==ID_bitxnor)
bvt inverted(const bvt &op)
boolbv_widtht boolbv_width
virtual literalt lor(literalt a, literalt b)=0
typet & type()
Return the type of the expression.
virtual const bvt & convert_bv(const exprt &expr, const optionalt< std::size_t > expected_width=nullopt)
virtual literalt land(literalt a, literalt b)=0
const irep_idt & id() const
virtual literalt lxor(literalt a, literalt b)=0
void conversion_failed(const exprt &expr, bvt &bv)
#define forall_operands(it, expr)
virtual literalt lnand(literalt a, literalt b)=0
virtual literalt lequal(literalt a, literalt b)=0
Base class for all expressions.
#define DATA_INVARIANT(CONDITION, REASON)
This condition should be used to document that assumptions that are made on goto_functions, goto_programs, exprts, etc.
virtual literalt lnor(literalt a, literalt b)=0
std::vector< literalt > bvt
virtual bvt convert_bitwise(const exprt &expr)