Lines Matching full:interval
23 * \brief Interval arithmetic and floating point precisions.
65 class Interval class
68 // Empty interval.
69 Interval(void) in Interval() function in tcu::Interval
78 // Intentionally not explicit. Conversion from double to Interval is common
80 Interval(double val) in Interval() function in tcu::Interval
89 Interval(bool hasNaN_, double lo_, double hi_) in Interval() function in tcu::Interval
98 Interval(bool hasNaN_, double lo_, double hi_, double wlo_, double whi_) in Interval() function in tcu::Interval
107 Interval(const Interval &a, const Interval &b) in Interval() function in tcu::Interval
140 Interval nan(void) const in nan()
142 return m_hasNaN ? TCU_NAN : Interval(); in nan()
149 …// The interval is represented in double, it can extend outside the range of smaller floating-poin…
166 Interval operator|(const Interval &other) const in operator |()
168 … return Interval(m_hasNaN || other.m_hasNaN, de::min(m_lo, other.m_lo), de::max(m_hi, other.m_hi), in operator |()
172 Interval &operator|=(const Interval &other) in operator |=()
177 Interval operator&(const Interval &other) const in operator &()
179 … return Interval(m_hasNaN && other.m_hasNaN, de::max(m_lo, other.m_lo), de::min(m_hi, other.m_hi), in operator &()
183 Interval &operator&=(const Interval &other) in operator &=()
188 bool contains(const Interval &other) const in contains()
193 bool containsWarning(const Interval &other) const in containsWarning()
198 bool intersects(const Interval &other) const in intersects()
203 Interval operator-(void) const in operator -()
205 return Interval(hasNaN(), -hi(), -lo(), -warningHi(), -warningLo()); in operator -()
208 static Interval unbounded(bool nan = false) in unbounded()
210 return Interval(nan, -TCU_INFINITY, TCU_INFINITY); in unbounded()
243 bool operator==(const Interval &other) const in operator ==()
257 inline Interval operator+(const Interval &x) in operator +()
261 Interval exp2(const Interval &x);
262 Interval exp(const Interval &x);
263 int sign(const Interval &x);
264 Interval abs(const Interval &x);
265 Interval inverseSqrt(const Interval &x);
267 Interval operator+(const Interval &x, const Interval &y);
268 Interval operator-(const Interval &x, const Interval &y);
269 Interval operator*(const Interval &x, const Interval &y);
270 Interval operator/(const Interval &nom, const Interval &den);
272 inline Interval &operator+=(Interval &x, const Interval &y) in operator +=()
276 inline Interval &operator-=(Interval &x, const Interval &y) in operator -=()
280 inline Interval &operator*=(Interval &x, const Interval &y) in operator *=()
284 inline Interval &operator/=(Interval &x, const Interval &y) in operator /=()
289 std::ostream &operator<<(std::ostream &os, const Interval &interval);
296 ::tcu::Interval &VAR##_dst_ = (DST); \
297 ::tcu::Interval VAR##_lo_; \
298 ::tcu::Interval VAR##_hi_; \
301 ::tcu::Interval &VAR = VAR##_lo_; \
306 ::tcu::Interval &VAR = VAR##_hi_; \
316 //! Set the interval DST to the image of BODY on ARG, assuming that BODY on
324 const ::tcu::Interval &VAR##_arg_ = (ARG); \
325 ::tcu::Interval &VAR##_dst_ = (DST); \
326 ::tcu::Interval VAR##_lo_; \
327 ::tcu::Interval VAR##_hi_; \
329 VAR##_dst_ = Interval(); \
334 ::tcu::Interval &VAR = VAR##_lo_; \
339 ::tcu::Interval &VAR = VAR##_hi_; \
357 typedef Interval DoubleIntervalFunc1(double);
358 typedef Interval DoubleIntervalFunc2(double, double);
359 typedef Interval DoubleIntervalFunc3(double, double, double);
361 Interval applyMonotone(DoubleFunc1 &func, const Interval &arg0);
362 Interval applyMonotone(DoubleFunc2 &func, const Interval &arg0, const Interval &arg1);
363 Interval applyMonotone(DoubleIntervalFunc1 &func, const Interval &arg0);
364 Interval applyMonotone(DoubleIntervalFunc2 &func, const Interval &arg0, const Interval &arg1);