cprover
bv_endianness_map.cpp
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Michael Tautschnig
6 
7 \*******************************************************************/
8 
9 #include "bv_endianness_map.h"
10 
11 #include <util/arith_tools.h>
12 #include <util/c_types.h>
13 
14 #include "boolbv_width.h"
15 
17 {
18  const std::size_t width = boolbv_width(src);
19 
20  if(width == 0)
21  return;
22 
23  const std::size_t new_size = map.size() + width;
24  map.reserve(new_size);
25 
26  for(std::size_t i = map.size(); i < new_size; ++i)
27  map.push_back(i);
28 }
29 
31 {
32  if(src.id() == ID_pointer)
34  else
36 }
bv_endianness_mapt::build_big_endian
virtual void build_big_endian(const typet &type) override
Definition: bv_endianness_map.cpp:30
arith_tools.h
bv_endianness_map.h
typet
The type of an expression, extends irept.
Definition: type.h:29
endianness_mapt::build_big_endian
virtual void build_big_endian(const typet &type)
Definition: endianness_map.cpp:52
bv_endianness_mapt::boolbv_width
boolbv_widtht & boolbv_width
Definition: bv_endianness_map.h:34
endianness_mapt::map
std::vector< size_t > map
Definition: endianness_map.h:67
irept::id
const irep_idt & id() const
Definition: irep.h:418
bv_endianness_mapt::build_little_endian
virtual void build_little_endian(const typet &type) override
Definition: bv_endianness_map.cpp:16
boolbv_width.h
c_types.h