| 245 | { return y * x; } |
| 246 | |
| 247 | template<class T, class Policies> inline |
| 248 | interval<T, Policies> operator/(const interval<T, Policies>& x, |
| 249 | const interval<T, Policies>& y) |
| 250 | { |
| 251 | if (interval_lib::detail::test_input(x, y)) |
| 252 | return interval<T, Policies>::empty(); |
| 253 | if (zero_in(y)) |
| 254 | if (!interval_lib::user::is_zero(y.lower())) |
| 255 | if (!interval_lib::user::is_zero(y.upper())) |
| 256 | return interval_lib::detail::div_zero(x); |
| 257 | else |
| 258 | return interval_lib::detail::div_negative(x, y.lower()); |
| 259 | else |
| 260 | if (!interval_lib::user::is_zero(y.upper())) |
| 261 | return interval_lib::detail::div_positive(x, y.upper()); |
| 262 | else |
| 263 | return interval<T, Policies>::empty(); |
| 264 | else |
| 265 | return interval_lib::detail::div_non_zero(x, y); |
| 266 | } |
| 267 | |
| 268 | template<class T, class Policies> inline |
| 269 | interval<T, Policies> operator/(const T& x, const interval<T, Policies>& y) |
nothing calls this directly
no test coverage detected