The count trailing zeros (counting the number of zero bits starting from the least-significant bit) expression.
More...
|
| count_trailing_zeros_exprt (exprt _op, bool _zero_permitted, typet _type) |
|
| count_trailing_zeros_exprt (const exprt &_op) |
|
bool | zero_permitted () const |
|
void | zero_permitted (bool value) |
|
exprt | lower () const |
| Lower a count_trailing_zeros_exprt to arithmetic and logic expressions. More...
|
|
| unary_exprt (const irep_idt &_id, const exprt &_op) |
|
| unary_exprt (const irep_idt &_id, exprt _op, typet _type) |
|
const exprt & | op () const |
|
exprt & | op () |
|
const exprt & | op1 () const =delete |
|
exprt & | op1 ()=delete |
|
const exprt & | op2 () const =delete |
|
exprt & | op2 ()=delete |
|
const exprt & | op3 () const =delete |
|
exprt & | op3 ()=delete |
|
| exprt () |
|
| exprt (const irep_idt &_id) |
|
| exprt (irep_idt _id, typet _type) |
|
| exprt (irep_idt _id, typet _type, operandst &&_operands) |
|
| exprt (const irep_idt &id, typet type, source_locationt loc) |
|
typet & | type () |
| Return the type of the expression. More...
|
|
const typet & | type () const |
|
bool | has_operands () const |
| Return true if there is at least one operand. More...
|
|
operandst & | operands () |
|
const operandst & | operands () const |
|
template<typename T > |
T & | with_source_location (const exprt &other) & |
| Add the source location from other , if it has any. More...
|
|
template<typename T > |
T && | with_source_location (const exprt &other) && |
| Add the source location from other , if it has any. More...
|
|
void | reserve_operands (operandst::size_type n) |
|
void | copy_to_operands (const exprt &expr) |
| Copy the given argument to the end of exprt 's operands. More...
|
|
void | add_to_operands (const exprt &expr) |
| Add the given argument to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&expr) |
| Add the given argument to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&e1, exprt &&e2) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
void | add_to_operands (exprt &&e1, exprt &&e2, exprt &&e3) |
| Add the given arguments to the end of exprt 's operands. More...
|
|
bool | is_constant () const |
| Return whether the expression is a constant. More...
|
|
bool | is_true () const |
| Return whether the expression is a constant representing true . More...
|
|
bool | is_false () const |
| Return whether the expression is a constant representing false . More...
|
|
bool | is_zero () const |
| Return whether the expression is a constant representing 0. More...
|
|
bool | is_one () const |
| Return whether the expression is a constant representing 1. More...
|
|
bool | is_boolean () const |
| Return whether the expression represents a Boolean. More...
|
|
const source_locationt & | find_source_location () const |
| Get a source_locationt from the expression or from its operands (non-recursively). More...
|
|
const source_locationt & | source_location () const |
|
source_locationt & | add_source_location () |
|
void | drop_source_location () |
|
void | visit (class expr_visitort &visitor) |
| These are pre-order traversal visitors, i.e., the visitor is executed on a node before its children have been visited. More...
|
|
void | visit (class const_expr_visitort &visitor) const |
|
void | visit_pre (std::function< void(exprt &)>) |
|
void | visit_pre (std::function< void(const exprt &)>) const |
|
void | visit_post (std::function< void(exprt &)>) |
| These are post-order traversal visitors, i.e., the visitor is executed on a node after its children have been visited. More...
|
|
void | visit_post (std::function< void(const exprt &)>) const |
|
depth_iteratort | depth_begin () |
|
depth_iteratort | depth_end () |
|
const_depth_iteratort | depth_begin () const |
|
const_depth_iteratort | depth_end () const |
|
const_depth_iteratort | depth_cbegin () const |
|
const_depth_iteratort | depth_cend () const |
|
depth_iteratort | depth_begin (std::function< exprt &()> mutate_root) const |
|
const_unique_depth_iteratort | unique_depth_begin () const |
|
const_unique_depth_iteratort | unique_depth_end () const |
|
const_unique_depth_iteratort | unique_depth_cbegin () const |
|
const_unique_depth_iteratort | unique_depth_cend () const |
|
bool | is_nil () const |
|
bool | is_not_nil () const |
|
| irept (const irep_idt &_id) |
|
| irept (const irep_idt &_id, const named_subt &_named_sub, const subt &_sub) |
|
| irept ()=default |
|
const irep_idt & | id () const |
|
const std::string & | id_string () const |
|
void | id (const irep_idt &_data) |
|
const irept & | find (const irep_idt &name) const |
|
irept & | add (const irep_idt &name) |
|
irept & | add (const irep_idt &name, irept irep) |
|
const std::string & | get_string (const irep_idt &name) const |
|
const irep_idt & | get (const irep_idt &name) const |
|
bool | get_bool (const irep_idt &name) const |
|
signed int | get_int (const irep_idt &name) const |
|
std::size_t | get_size_t (const irep_idt &name) const |
|
long long | get_long_long (const irep_idt &name) const |
|
void | set (const irep_idt &name, const irep_idt &value) |
|
void | set (const irep_idt &name, irept irep) |
|
void | set (const irep_idt &name, const long long value) |
|
void | set_size_t (const irep_idt &name, const std::size_t value) |
|
void | remove (const irep_idt &name) |
|
void | move_to_sub (irept &irep) |
|
void | move_to_named_sub (const irep_idt &name, irept &irep) |
|
bool | operator== (const irept &other) const |
|
bool | operator!= (const irept &other) const |
|
void | swap (irept &irep) |
|
bool | operator< (const irept &other) const |
| defines ordering on the internal representation More...
|
|
bool | ordering (const irept &other) const |
| defines ordering on the internal representation More...
|
|
int | compare (const irept &i) const |
| defines ordering on the internal representation comments are ignored More...
|
|
void | clear () |
|
void | make_nil () |
|
subt & | get_sub () |
|
const subt & | get_sub () const |
|
named_subt & | get_named_sub () |
|
const named_subt & | get_named_sub () const |
|
std::size_t | hash () const |
|
std::size_t | full_hash () const |
|
bool | full_eq (const irept &other) const |
|
std::string | pretty (unsigned indent=0, unsigned max_indent=0) const |
|
| sharing_treet (irep_idt _id) |
|
| sharing_treet (irep_idt _id, named_subt _named_sub, subt _sub) |
|
| sharing_treet () |
|
| sharing_treet (const sharing_treet &irep) |
|
| sharing_treet (sharing_treet &&irep) |
|
sharing_treet & | operator= (const sharing_treet &irep) |
|
sharing_treet & | operator= (sharing_treet &&irep) |
|
| ~sharing_treet () |
|
const dt & | read () const |
|
dt & | write () |
|
The count trailing zeros (counting the number of zero bits starting from the least-significant bit) expression.
When zero_permitted
is set to false, goto_checkt must generate an assertion that the operand does not evaluate to zero. The result is always defined, even for zero (where the result is the bit width).
Definition at line 1067 of file bitvector_expr.h.