cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
gcc_types.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 "
gcc_types.h
"
10
11
#include <
util/ieee_float.h
>
12
13
floatbv_typet
gcc_float16_type
()
14
{
15
floatbv_typet
result=
16
ieee_float_spect::half_precision
().
to_type
();
17
result.
set
(ID_C_c_type, ID_gcc_float16);
18
return
result;
19
}
20
21
floatbv_typet
gcc_float32_type
()
22
{
23
// not same as float!
24
floatbv_typet
result=
25
ieee_float_spect::single_precision
().
to_type
();
26
result.
set
(ID_C_c_type, ID_gcc_float32);
27
return
result;
28
}
29
30
floatbv_typet
gcc_float32x_type
()
31
{
32
// not same as float!
33
floatbv_typet
result=
34
ieee_float_spect::single_precision
().
to_type
();
35
result.
set
(ID_C_c_type, ID_gcc_float32x);
36
return
result;
37
}
38
39
floatbv_typet
gcc_float64_type
()
40
{
41
// not same as double!
42
floatbv_typet
result=
43
ieee_float_spect::double_precision
().
to_type
();
44
result.
set
(ID_C_c_type, ID_gcc_float64);
45
return
result;
46
}
47
48
floatbv_typet
gcc_float64x_type
()
49
{
50
// not same as double!
51
floatbv_typet
result=
52
ieee_float_spect::double_precision
().
to_type
();
53
result.
set
(ID_C_c_type, ID_gcc_float64x);
54
return
result;
55
}
56
57
floatbv_typet
gcc_float128_type
()
58
{
59
// not same as long double!
60
floatbv_typet
result=
61
ieee_float_spect::quadruple_precision
().
to_type
();
62
result.
set
(ID_C_c_type, ID_gcc_float128);
63
return
result;
64
}
65
66
floatbv_typet
gcc_float128x_type
()
67
{
68
// not same as long double!
69
floatbv_typet
result=
70
ieee_float_spect::quadruple_precision
().
to_type
();
71
result.
set
(ID_C_c_type, ID_gcc_float128x);
72
return
result;
73
}
74
75
unsignedbv_typet
gcc_unsigned_int128_type
()
76
{
77
unsignedbv_typet
result(128);
78
result.
set
(ID_C_c_type, ID_unsigned_int128);
79
return
result;
80
}
81
82
signedbv_typet
gcc_signed_int128_type
()
83
{
84
signedbv_typet
result(128);
85
result.
set
(ID_C_c_type, ID_signed_int128);
86
return
result;
87
}
floatbv_typet
Fixed-width bit-vector with IEEE floating-point interpretation.
Definition
bitvector_types.h:341
ieee_float_spect::half_precision
static ieee_float_spect half_precision()
Definition
ieee_float.h:63
ieee_float_spect::single_precision
static ieee_float_spect single_precision()
Definition
ieee_float.h:70
ieee_float_spect::quadruple_precision
static ieee_float_spect quadruple_precision()
Definition
ieee_float.h:82
ieee_float_spect::to_type
class floatbv_typet to_type() const
Definition
ieee_float.cpp:25
ieee_float_spect::double_precision
static ieee_float_spect double_precision()
Definition
ieee_float.h:76
irept::set
void set(const irep_idt &name, const irep_idt &value)
Definition
irep.h:412
signedbv_typet
Fixed-width bit-vector with two's complement interpretation.
Definition
bitvector_types.h:222
unsignedbv_typet
Fixed-width bit-vector with unsigned binary interpretation.
Definition
bitvector_types.h:168
gcc_float32_type
floatbv_typet gcc_float32_type()
Definition
gcc_types.cpp:21
gcc_float16_type
floatbv_typet gcc_float16_type()
Definition
gcc_types.cpp:13
gcc_float64_type
floatbv_typet gcc_float64_type()
Definition
gcc_types.cpp:39
gcc_signed_int128_type
signedbv_typet gcc_signed_int128_type()
Definition
gcc_types.cpp:82
gcc_float32x_type
floatbv_typet gcc_float32x_type()
Definition
gcc_types.cpp:30
gcc_float64x_type
floatbv_typet gcc_float64x_type()
Definition
gcc_types.cpp:48
gcc_float128x_type
floatbv_typet gcc_float128x_type()
Definition
gcc_types.cpp:66
gcc_unsigned_int128_type
unsignedbv_typet gcc_unsigned_int128_type()
Definition
gcc_types.cpp:75
gcc_float128_type
floatbv_typet gcc_float128_type()
Definition
gcc_types.cpp:57
gcc_types.h
ieee_float.h
ansi-c
gcc_types.cpp
Generated by
1.17.0