Home | History | Annotate | Download | only in common

Lines Matching refs:interval

23  * \brief Interval arithmetic and floating point precisions.
57 class Interval
60 // Empty interval.
61 Interval (void)
66 // Intentionally not explicit. Conversion from double to Interval is common
68 Interval (double val)
73 Interval (const Interval& a, const Interval& b)
82 Interval nan (void) const { return m_hasNaN ? TCU_NAN : Interval(); }
88 Interval operator| (const Interval& other) const
90 return Interval(m_hasNaN || other.m_hasNaN,
96 Interval& operator|= (const Interval& other)
101 Interval operator& (const Interval& other) const
103 return Interval(m_hasNaN && other.m_hasNaN,
108 Interval& operator&= (const Interval& other)
113 bool contains (const Interval& other) const
119 bool intersects (const Interval& other) const
125 Interval operator- (void) const
127 return Interval(hasNaN(), -hi(), -lo());
130 static Interval unbounded (bool nan = false)
132 return Interval(nan, -TCU_INFINITY, TCU_INFINITY);
140 bool operator== (const Interval& other) const
148 Interval (bool hasNaN_, double lo_, double hi_)
155 inline Interval operator+ (const Interval& x) { return x; }
156 Interval exp2 (const Interval& x);
157 Interval exp (const Interval& x);
158 int sign (const Interval& x);
159 Interval abs (const Interval& x);
160 Interval inverseSqrt (const Interval& x);
162 Interval operator+ (const Interval& x, const Interval& y);
163 Interval operator- (const Interval& x, const Interval& y);
164 Interval operator* (const Interval& x, const Interval& y);
165 Interval operator/ (const Interval& nom, const Interval& den);
167 inline Interval& operator+= (Interval& x, const Interval& y) { return (x = x + y); }
168 inline Interval& operator-= (Interval& x, const Interval& y) { return (x = x - y); }
169 inline Interval& operator*= (Interval& x, const Interval& y) { return (x = x * y); }
170 inline Interval& operator/= (Interval& x, const Interval& y) { return (x = x / y); }
172 std::ostream& operator<< (std::ostream& os, const Interval& interval);
177 ::tcu::Interval& VAR##_dst_ = (DST); \
178 ::tcu::Interval VAR##_lo_; \
179 ::tcu::Interval VAR##_hi_; \
182 ::tcu::Interval& VAR = VAR##_lo_; \
187 ::tcu::Interval& VAR = VAR##_hi_; \
198 //! Set the interval DST to the image of BODY on ARG, assuming that BODY on
205 const ::tcu::Interval& VAR##_arg_ = (ARG); \
206 ::tcu::Interval& VAR##_dst_ = (DST); \
207 ::tcu::Interval VAR##_lo_; \
208 ::tcu::Interval VAR##_hi_; \
210 VAR##_dst_ = Interval(); \
215 ::tcu::Interval& VAR = VAR##_lo_; \
220 ::tcu::Interval& VAR = VAR##_hi_; \
242 typedef Interval DoubleIntervalFunc1 (double);
243 typedef Interval DoubleIntervalFunc2 (double, double);
244 typedef Interval DoubleIntervalFunc3 (double, double, double);
246 Interval applyMonotone (DoubleFunc1& func,
247 const Interval& arg0);
248 Interval applyMonotone (DoubleFunc2& func,
249 const Interval& arg0,
250 const Interval& arg1);
251 Interval applyMonotone (DoubleIntervalFunc1& func,
252 const Interval& arg0);
253 Interval applyMonotone (DoubleIntervalFunc2& func,
254 const Interval& arg0,
255 const Interval& arg1);