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));
32 return (value < lo) ? lo : (hi < value) ? hi : value;
35 template <
class T,
class ComparatorType>
36 constexpr KOKKOS_INLINE_FUNCTION
const T& clamp(
const T& value,
const T& lo,
38 ComparatorType comp) {
39 KOKKOS_EXPECTS(!comp(hi, lo));
44 return comp(value, lo) ? lo : comp(hi, value) ? hi : value;