50 for(std::size_t i=0; i<width; i++)
52 bv[i] = f(bv[i], op[i]);
API to expression classes for bitvectors.
const bitnot_exprt & to_bitnot_expr(const exprt &expr)
Cast an exprt to a bitnot_exprt.
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
virtual const bvt & convert_bv(const exprt &expr, const std::optional< std::size_t > expected_width={})
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
virtual bvt convert_bitwise(const exprt &expr)
virtual std::size_t boolbv_width(const typet &type) const
static bvt inverted(const bvt &op)
Base class for all expressions.
typet & type()
Return the type of the expression.
const irep_idt & id() const
virtual literalt land(literalt a, literalt b)=0
virtual literalt lxor(literalt a, literalt b)=0
virtual literalt lor(literalt a, literalt b)=0
#define forall_operands(it, expr)
std::vector< literalt > bvt