📄 certain.hpp
字号:
/* Boost interval/compare/certain.hpp template implementation file * * Copyright 2003 Guillaume Melquiond * * Distributed under the Boost Software License, Version 1.0. * (See accompanying file LICENSE_1_0.txt or * copy at http://www.boost.org/LICENSE_1_0.txt) */#ifndef BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP#define BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP#include <boost/numeric/interval/detail/interval_prototype.hpp>#include <boost/numeric/interval/detail/test_input.hpp>namespace boost {namespace numeric {namespace interval_lib {namespace compare {namespace certain {template<class T, class Policies1, class Policies2> inlinebool operator<(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y.lower();}template<class T, class Policies> inlinebool operator<(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y;}template<class T, class Policies1, class Policies2> inlinebool operator<=(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() <= y.lower();}template<class T, class Policies> inlinebool operator<=(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() <= y;}template<class T, class Policies1, class Policies2> inlinebool operator>(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.lower() > y.upper();}template<class T, class Policies> inlinebool operator>(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.lower() > y;}template<class T, class Policies1, class Policies2> inlinebool operator>=(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.lower() >= y.upper();}template<class T, class Policies> inlinebool operator>=(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.lower() >= y;}template<class T, class Policies1, class Policies2> inlinebool operator==(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() == y.lower() && x.lower() == y.upper();}template<class T, class Policies> inlinebool operator==(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() == y && x.lower() == y;}template<class T, class Policies1, class Policies2> inlinebool operator!=(const interval<T, Policies1>& x, const interval<T, Policies2>& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y.lower() || x.lower() > y.upper();}template<class T, class Policies> inlinebool operator!=(const interval<T, Policies>& x, const T& y){ if (detail::test_input(x, y)) throw comparison_error(); return x.upper() < y || x.lower() > y;}} // namespace certain} // namespace compare} // namespace interval_lib} // namespace numeric} // namespace boost#endif // BOOST_NUMERIC_INTERVAL_COMPARE_CERTAIN_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -