10#ifndef INCLUDED_O3TL_FLOAT_INT_CONVERSION_HXX
11#define INCLUDED_O3TL_FLOAT_INT_CONVERSION_HXX
23template <
typename F,
typename I>
24constexpr std::enable_if_t<std::is_floating_point_v<F> && std::is_integral_v<I>,
bool>
36template <
typename F,
typename I>
37constexpr std::enable_if_t<std::is_floating_point_v<F> && std::is_integral_v<I>,
bool>
49template <
typename I,
typename F>
50constexpr std::enable_if_t<std::is_floating_point_v<F> && std::is_integral_v<I>,
I>
53 if constexpr (std::is_signed_v<I>)
55 return std::numeric_limits<I>::min();
57 return std::numeric_limits<I>::max();
64template <
typename F> std::enable_if_t<std::is_floating_point_v<F>,
F>
roundAway(F value)
constexpr std::enable_if_t< std::is_floating_point_v< F > &&std::is_integral_v< I >, bool > convertsToAtLeast(F value, I min)
std::enable_if_t< std::is_floating_point_v< F >, F > roundAway(F value)
constexpr std::enable_if_t< std::is_floating_point_v< F > &&std::is_integral_v< I >, I > saturating_cast(F f)
constexpr std::enable_if_t< std::is_floating_point_v< F > &&std::is_integral_v< I >, bool > convertsToAtMost(F value, I max)
SwNodeOffset min(const SwNodeOffset &a, const SwNodeOffset &b)