15
15
16
16
#include < util/threeval.h>
17
17
18
- template <class T > class interval_template
18
+ template <class T > class interval_templatet
19
19
{
20
20
public:
21
- interval_template ():lower_set(false ), upper_set(false )
21
+ interval_templatet ():lower_set(false ), upper_set(false )
22
22
{
23
23
// this is 'top'
24
24
}
25
25
26
- explicit interval_template (const T &x):
26
+ explicit interval_templatet (const T &x):
27
27
lower_set(true ),
28
28
upper_set(true ),
29
29
lower(x),
30
30
upper(x)
31
31
{
32
32
}
33
33
34
- explicit interval_template (const T &l, const T &u):
34
+ explicit interval_templatet (const T &l, const T &u):
35
35
lower_set(true ),
36
36
upper_set(true ),
37
37
lower(l),
@@ -102,18 +102,18 @@ template<class T> class interval_template
102
102
}
103
103
104
104
// Union or disjunction
105
- void join (const interval_template <T> &i)
105
+ void join (const interval_templatet <T> &i)
106
106
{
107
107
approx_union_with (i);
108
108
}
109
109
110
110
// Intersection or conjunction
111
- void meet (const interval_template <T> &i)
111
+ void meet (const interval_templatet <T> &i)
112
112
{
113
113
intersect_with (i);
114
114
}
115
115
116
- void intersect_with (const interval_template &i)
116
+ void intersect_with (const interval_templatet &i)
117
117
{
118
118
if (i.lower_set )
119
119
{
@@ -142,7 +142,7 @@ template<class T> class interval_template
142
142
}
143
143
}
144
144
145
- void approx_union_with (const interval_template &i)
145
+ void approx_union_with (const interval_templatet &i)
146
146
{
147
147
if (i.lower_set && lower_set)
148
148
lower=std::min (lower, i.lower );
@@ -157,7 +157,7 @@ template<class T> class interval_template
157
157
};
158
158
159
159
template <class T >
160
- tvt operator <=(const interval_template <T> &a, const interval_template <T> &b)
160
+ tvt operator <=(const interval_templatet <T> &a, const interval_templatet <T> &b)
161
161
{
162
162
if (a.upper_set && b.lower_set && a.upper <=b.lower )
163
163
return tvt (true );
@@ -168,25 +168,25 @@ tvt operator<=(const interval_template<T> &a, const interval_template<T> &b)
168
168
}
169
169
170
170
template <class T >
171
- tvt operator >=(const interval_template <T> &a, const interval_template <T> &b)
171
+ tvt operator >=(const interval_templatet <T> &a, const interval_templatet <T> &b)
172
172
{
173
173
return b<=a;
174
174
}
175
175
176
176
template <class T >
177
- tvt operator <(const interval_template <T> &a, const interval_template <T> &b)
177
+ tvt operator <(const interval_templatet <T> &a, const interval_templatet <T> &b)
178
178
{
179
179
return !(a>=b);
180
180
}
181
181
182
182
template <class T >
183
- tvt operator >(const interval_template <T> &a, const interval_template <T> &b)
183
+ tvt operator >(const interval_templatet <T> &a, const interval_templatet <T> &b)
184
184
{
185
185
return !(a<=b);
186
186
}
187
187
188
188
template <class T >
189
- bool operator ==(const interval_template <T> &a, const interval_template <T> &b)
189
+ bool operator ==(const interval_templatet <T> &a, const interval_templatet <T> &b)
190
190
{
191
191
if (a.lower_set !=b.lower_set )
192
192
return false ;
@@ -202,31 +202,31 @@ bool operator==(const interval_template<T> &a, const interval_template<T> &b)
202
202
}
203
203
204
204
template <class T >
205
- bool operator !=(const interval_template <T> &a, const interval_template <T> &b)
205
+ bool operator !=(const interval_templatet <T> &a, const interval_templatet <T> &b)
206
206
{
207
207
return !(a==b);
208
208
}
209
209
210
210
template <class T >
211
- interval_template <T> upper_interval (const T &u)
211
+ interval_templatet <T> upper_interval (const T &u)
212
212
{
213
- interval_template <T> i;
213
+ interval_templatet <T> i;
214
214
i.upper_set =true ;
215
215
i.upper =u;
216
216
return i;
217
217
}
218
218
219
219
template <class T >
220
- interval_template <T> lower_interval (const T &l)
220
+ interval_templatet <T> lower_interval (const T &l)
221
221
{
222
- interval_template <T> i;
222
+ interval_templatet <T> i;
223
223
i.lower_set =true ;
224
224
i.lower =l;
225
225
return i;
226
226
}
227
227
228
228
template <class T >
229
- std::ostream &operator << (std::ostream &out, const interval_template <T> &i)
229
+ std::ostream &operator << (std::ostream &out, const interval_templatet <T> &i)
230
230
{
231
231
if (i.lower_set )
232
232
out << ' [' << i.lower ;
0 commit comments