16 return (f1 < f2) ? f1 : f2;
21 return (f1 > f2) ? f1 : f2;
24 template <
typename T,
typename... TArgs>
25 INLINE constexpr T
min(
const T& f1,
const T& f2,
const TArgs&... rest) {
26 return min(
min(f1, f2), rest...);
29 template <
typename T,
typename... TArgs>
30 INLINE constexpr T
max(
const T& f1,
const T& f2,
const TArgs&... rest) {
31 return max(
max(f1, f2), rest...);
35 INLINE constexpr T
clamp(
const T& f,
const T& f1,
const T& f2) {
36 return max(f1,
min(f, f2));
constexpr INLINE T max(const T &f1, const T &f2)
constexpr INLINE bool isOdd(const T &f)
constexpr INLINE T clamp(const T &f, const T &f1, const T &f2)
NAMESPACE_SPH_BEGIN constexpr INLINE T min(const T &f1, const T &f2)
Minimum & Maximum value.
Common macros and basic objects.
#define INLINE
Macros for conditional compilation based on selected compiler.
#define NAMESPACE_SPH_END