Home | History | Annotate | Download | only in common

Lines Matching full:interval

21  * \brief Interval arithmetic.
35 Interval applyMonotone (DoubleFunc1& func, const Interval& arg0)
37 Interval ret;
43 Interval applyMonotone (DoubleIntervalFunc1& func, const Interval& arg0)
45 return Interval(func(arg0.lo()), func(arg0.hi()));
48 Interval applyMonotone (DoubleFunc2& func, const Interval& arg0, const Interval& arg1)
50 Interval ret;
58 Interval applyMonotone (DoubleIntervalFunc2& func, const Interval& arg0, const Interval& arg1)
61 return Interval(Interval(func(lo0, lo1), func(lo0, hi1)),
62 Interval(func(hi0, lo1), func(hi0, hi1)));
65 Interval operator+ (const Interval& x, const Interval& y)
67 Interval ret;
77 Interval operator- (const Interval& x, const Interval& y)
79 Interval ret;
86 Interval operator* (const Interval& x, const Interval& y)
88 Interval ret;
95 Interval operator/ (const Interval& nom, const Interval& den)
101 return Interval::unbounded();
105 Interval ret;
118 Interval operator- (const Interval& x)
123 Interval exp2 (const Interval& x)
128 Interval exp (const Interval& x)
133 Interval sqrt (const Interval& x)
138 Interval inverseSqrt (const Interval& x)
143 Interval abs (const Interval& x)
145 const Interval mono = applyMonotone(std::abs, x);
148 return Interval(0.0, mono);
153 std::ostream& operator<< (std::ostream& os, const Interval& interval)
155 if (interval.empty())
156 if (interval.hasNaN())
161 os << (interval.hasNaN() ? "~" : "")
162 << "[" << interval.lo() << ", " << interval.hi() << "]";