CBMC
boolbv_bitreverse.cpp
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: Michael Tautschnig
6
7
\*******************************************************************/
8
9
#include "
boolbv.h
"
10
11
#include <
util/bitvector_expr.h
>
12
13
bvt
boolbvt::convert_bitreverse
(
const
bitreverse_exprt
&expr)
14
{
15
const
std::size_t width =
boolbv_width
(expr.
type
());
16
17
bvt
bv =
convert_bv
(expr.
op
(), width);
18
19
std::reverse(bv.begin(), bv.end());
20
21
return
bv;
22
}
bvt
std::vector< literalt > bvt
Definition:
literal.h:201
exprt::type
typet & type()
Return the type of the expression.
Definition:
expr.h:84
boolbvt::boolbv_width
virtual std::size_t boolbv_width(const typet &type) const
Definition:
boolbv.h:102
boolbvt::convert_bv
virtual const bvt & convert_bv(const exprt &expr, const optionalt< std::size_t > expected_width={})
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
Definition:
boolbv.cpp:39
boolbvt::convert_bitreverse
virtual bvt convert_bitreverse(const bitreverse_exprt &expr)
Definition:
boolbv_bitreverse.cpp:13
unary_exprt::op
const exprt & op() const
Definition:
std_expr.h:326
boolbv.h
bitvector_expr.h
bitreverse_exprt
Reverse the order of bits in a bit-vector.
Definition:
bitvector_expr.h:1156
src
solvers
flattening
boolbv_bitreverse.cpp
Generated by
1.8.17