PPL
1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Cast_Floating_Point_Expression.defs.hh
Go to the documentation of this file.
1
/* Declarations for the Cast_Floating_Point_Expression class and
2
its constituents.
3
Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
4
Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
5
6
This file is part of the Parma Polyhedra Library (PPL).
7
8
The PPL is free software; you can redistribute it and/or modify it
9
under the terms of the GNU General Public License as published by the
10
Free Software Foundation; either version 3 of the License, or (at your
11
option) any later version.
12
13
The PPL is distributed in the hope that it will be useful, but WITHOUT
14
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16
for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program; if not, write to the Free Software Foundation,
20
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
21
22
For the most up-to-date information see the Parma Polyhedra Library
23
site: http://bugseng.com/products/ppl/ . */
24
25
#ifndef PPL_Cast_Floating_Point_Expression_defs_hh
26
#define PPL_Cast_Floating_Point_Expression_defs_hh 1
27
28
#include "
Floating_Point_Expression.defs.hh
"
29
#include "
globals.defs.hh
"
30
#include "
Cast_Floating_Point_Expression.types.hh
"
31
#include <map>
32
33
namespace
Parma_Polyhedra_Library {
34
36
37
template
<
typename
FP_Interval_Type,
typename
FP_Format>
38
void
39
swap
(Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
40
Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
41
89
template
<
typename
FP_Interval_Type,
typename
FP_Format>
90
class
Cast_Floating_Point_Expression
91
:
public
Floating_Point_Expression
<FP_Interval_Type, FP_Format> {
92
93
public
:
94
99
typedef
typename
100
Floating_Point_Expression<FP_Interval_Type, FP_Format>
::
101
FP_Linear_Form
FP_Linear_Form
;
102
107
typedef
typename
108
Floating_Point_Expression<FP_Interval_Type, FP_Format>
::
109
FP_Interval_Abstract_Store
FP_Interval_Abstract_Store
;
110
115
typedef
typename
116
Floating_Point_Expression<FP_Interval_Type, FP_Format>
::
117
FP_Linear_Form_Abstract_Store
FP_Linear_Form_Abstract_Store
;
118
120
121
125
Cast_Floating_Point_Expression
(
126
Floating_Point_Expression<FP_Interval_Type, FP_Format>
*
const
expr
);
127
129
~Cast_Floating_Point_Expression
();
130
132
148
bool
linearize
(
const
FP_Interval_Abstract_Store
& int_store,
149
const
FP_Linear_Form_Abstract_Store
& lf_store,
150
FP_Linear_Form
& result)
const
;
151
153
void
m_swap
(
Cast_Floating_Point_Expression
& y);
154
155
private
:
156
158
Floating_Point_Expression<FP_Interval_Type, FP_Format>
*
expr
;
159
160
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
161
164
#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
165
Cast_Floating_Point_Expression
(
166
const
Cast_Floating_Point_Expression
& y);
167
168
#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
169
172
#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAIL
173
Cast_Floating_Point_Expression
&
operator=
(
174
const
Cast_Floating_Point_Expression
& y);
175
176
};
// class Cast_Floating_Point_Expression
177
178
}
// namespace Parma_Polyhedra_Library
179
180
#include "
Cast_Floating_Point_Expression.inlines.hh
"
181
182
#endif // !defined(PPL_Cast_Floating_Point_Expression_defs_hh)
ppl
src
Cast_Floating_Point_Expression.defs.hh
Generated on Thu Jun 28 2012 16:25:34 for PPL by
1.8.1.1