17 #ifndef KOKKOS_CLAMP_HPP
18 #define KOKKOS_CLAMP_HPP
20 #include <Kokkos_Macros.hpp>
25 constexpr KOKKOS_INLINE_FUNCTION
const T& clamp(
const T& value,
const T& lo,
27 KOKKOS_EXPECTS(!(hi < lo));
28 return (value < lo) ? lo : (hi < value) ? hi : value;
31 template <
class T,
class ComparatorType>
32 constexpr KOKKOS_INLINE_FUNCTION
const T& clamp(
const T& value,
const T& lo,
34 ComparatorType comp) {
35 KOKKOS_EXPECTS(!comp(hi, lo));
36 return comp(value, lo) ? lo : comp(hi, value) ? hi : value;