| 67 | namespace interval_lib { |
| 68 | |
| 69 | template<class T, class Policies> inline |
| 70 | interval<T, Policies> division_part1(const interval<T, Policies>& x, |
| 71 | const interval<T, Policies>& y, bool& b) |
| 72 | { |
| 73 | typedef interval<T, Policies> I; |
| 74 | b = false; |
| 75 | if (detail::test_input(x, y)) |
| 76 | return I::empty(); |
| 77 | if (zero_in(y)) |
| 78 | if (!user::is_zero(y.lower())) |
| 79 | if (!user::is_zero(y.upper())) |
| 80 | return detail::div_zero_part1(x, y, b); |
| 81 | else |
| 82 | return detail::div_negative(x, y.lower()); |
| 83 | else |
| 84 | if (!user::is_zero(y.upper())) |
| 85 | return detail::div_positive(x, y.upper()); |
| 86 | else |
| 87 | return I::empty(); |
| 88 | else |
| 89 | return detail::div_non_zero(x, y); |
| 90 | } |
| 91 | |
| 92 | template<class T, class Policies> inline |
| 93 | interval<T, Policies> division_part2(const interval<T, Policies>& x, |
nothing calls this directly
no test coverage detected