1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #ifndef BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_DIFF_ABS_HPP
- #define BOOST_GEOMETRY_INDEX_DETAIL_ALGORITHMS_DIFF_ABS_HPP
- #include <cmath>
- #include <type_traits>
- namespace boost { namespace geometry { namespace index { namespace detail
- {
- template
- <
- typename T,
- std::enable_if_t<std::is_integral<T>::value, int> = 0
- >
- inline T diff_abs(T const& v1, T const& v2)
- {
- return v1 < v2 ? v2 - v1 : v1 - v2;
- }
- template
- <
- typename T,
- std::enable_if_t<! std::is_integral<T>::value, int> = 0
- >
- inline T diff_abs(T const& v1, T const& v2)
- {
- return ::fabs(v1 - v2);
- }
- }}}}
- #endif
|