diff options
Diffstat (limited to 'compat')
-rw-r--r-- | compat/correlation-calibrator.cpp | 2 | ||||
-rw-r--r-- | compat/math.hpp | 48 |
2 files changed, 1 insertions, 49 deletions
diff --git a/compat/correlation-calibrator.cpp b/compat/correlation-calibrator.cpp index 01f3b14f..08fbcaa7 100644 --- a/compat/correlation-calibrator.cpp +++ b/compat/correlation-calibrator.cpp @@ -49,7 +49,7 @@ bool correlation_calibrator::check_buckets(const vec6& data) for (unsigned k = 0; k < 6; k++) { - const double val = clamp(data[k], min[k], max[k]); + const double val = std::clamp(data[k], min[k], max[k]); pos[k] = unsigned((val-min[k])/spacing[k]); if (pos[k] >= nbuckets[k]) diff --git a/compat/math.hpp b/compat/math.hpp index 34428cbd..1387324e 100644 --- a/compat/math.hpp +++ b/compat/math.hpp @@ -5,54 +5,6 @@ #include <cmath> #include <type_traits> -namespace util_detail { - -template<typename n> -inline auto clamp_float(n val, n min_, n max_) -{ - return std::fmin(std::fmax(val, min_), max_); -} - -template<typename t> -struct clamp final -{ - static inline auto clamp_(t val, t min_, t max_) - { - if (unlikely(val > max_)) - return max_; - if (unlikely(val < min_)) - return min_; - return val; - } -}; - -template<> -struct clamp<float> -{ - static inline auto clamp_(float val, float min_, float max_) - { - return clamp_float(val, min_, max_); - } -}; - -template<> -struct clamp<double> -{ - static inline auto clamp_(double val, double min_, double max_) - { - return clamp_float(val, min_, max_); - } -}; - -} // ns util_detail - -template<typename t, typename u, typename v> -inline auto clamp(const t& val, const u& min, const v& max) -{ - using w = cv_qualified<decltype(val + min + max)>; - return util_detail::clamp<w>::clamp_(val, min, max); -} - template<typename t> inline auto iround(t val) -> std::enable_if_t<std::is_floating_point_v<remove_cvref_t<t>>, int> { |