17#ifndef KOKKOS_CLAMP_HPP
18#define KOKKOS_CLAMP_HPP
20#include <Kokkos_Macros.hpp>
25constexpr 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;
35template <
class T,
class ComparatorType>
36constexpr 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;