cprover
byte_operators.cpp
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module:
4
5
Author: Daniel Kroening, kroening@kroening.com
6
7
\*******************************************************************/
8
9
#include "
byte_operators.h
"
10
11
#include <cassert>
12
13
#include "
invariant.h
"
14
#include "
config.h
"
15
16
irep_idt
byte_extract_id
()
17
{
18
switch
(
config
.
ansi_c
.
endianness
)
19
{
20
case
configt::ansi_ct::endiannesst::IS_LITTLE_ENDIAN
:
21
return
ID_byte_extract_little_endian;
22
23
case
configt::ansi_ct::endiannesst::IS_BIG_ENDIAN
:
24
return
ID_byte_extract_big_endian;
25
26
default
:
27
UNREACHABLE
;
28
}
29
}
30
31
irep_idt
byte_update_id
()
32
{
33
switch
(
config
.
ansi_c
.
endianness
)
34
{
35
case
configt::ansi_ct::endiannesst::IS_LITTLE_ENDIAN
:
36
return
ID_byte_update_little_endian;
37
38
case
configt::ansi_ct::endiannesst::IS_BIG_ENDIAN
:
39
return
ID_byte_update_big_endian;
40
41
default
:
42
UNREACHABLE
;
43
}
44
}
configt::ansi_c
struct configt::ansi_ct ansi_c
configt::ansi_ct::endianness
endiannesst endianness
Definition:
config.h:76
config.h
config
configt config
Definition:
config.cpp:23
byte_operators.h
Expression classes for byte-level operators.
configt::ansi_ct::endiannesst::IS_LITTLE_ENDIAN
byte_extract_id
irep_idt byte_extract_id()
Definition:
byte_operators.cpp:16
dstringt
Definition:
dstring.h:21
invariant.h
configt::ansi_ct::endiannesst::IS_BIG_ENDIAN
UNREACHABLE
#define UNREACHABLE
Definition:
invariant.h:250
byte_update_id
irep_idt byte_update_id()
Definition:
byte_operators.cpp:31
util
byte_operators.cpp
Generated by
1.8.14