40 if(type.
id()==ID_unsignedbv)
42 else if(type.
id()==ID_signedbv)
52 out << to_ansi_c_string();
83 return value+
power(2, spec.width);
95 assert(other.
spec==spec);
107 assert(other.
spec==spec);
117 assert(other.
spec==spec);
127 assert(other.
spec==spec);
137 assert(other.
spec==spec);
147 return value<other.
value;
152 return value<=other.
value;
157 return value>other.
value;
162 return value>=other.
value;
167 return value==other.
value;
177 return value!=other.
value;
The type of an expression.
Fixed-width bit-vector with unsigned binary interpretation.
void from_integer(const mp_integer &i)
void change_spec(const bv_spect &dest_spec)
bool operator<=(const bv_arithmetict &other)
const std::string integer2string(const mp_integer &n, unsigned base)
bool operator<(const bv_arithmetict &other)
void from_type(const typet &type)
unsigned unsafe_string2unsigned(const std::string &str, int base)
const mp_integer binary2integer(const std::string &n, bool is_signed)
convert binary string representation to mp_integer
bv_arithmetict & operator-=(const bv_arithmetict &other)
bv_arithmetict & operator*=(const bv_arithmetict &other)
bv_arithmetict & operator%=(const bv_arithmetict &other)
bool operator!=(const bv_arithmetict &other)
A constant literal expression.
void from_expr(const exprt &expr)
void print(std::ostream &out) const
bool operator>(const bv_arithmetict &other)
const irep_idt & id() const
void set_value(const irep_idt &value)
bool operator>=(const bv_arithmetict &other)
bool operator==(const bv_arithmetict &other)
Fixed-width bit-vector with two's complement interpretation.
API to expression classes.
mp_integer max_value() const
mp_integer min_value() const
Base class for all expressions.
bv_arithmetict & operator+=(const bv_arithmetict &other)
const std::string integer2binary(const mp_integer &n, std::size_t width)
const std::string & get_string(const irep_namet &name) const
bv_arithmetict & operator/=(const bv_arithmetict &other)
std::string format(const format_spect &format_spec) const