alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::concepts::detail Namespace Reference

Variables

template<typename T_From, typename T_To>
constexpr bool floatFloatLossless
template<typename T_From, typename T_To>
constexpr bool integralFloatLossless
template<typename T_From, typename T_To>
constexpr bool integralIntegralLossless

Variable Documentation

◆ floatFloatLossless

template<typename T_From, typename T_To>
bool alpaka::concepts::detail::floatFloatLossless
constexpr
Initial value:
= std::is_floating_point_v<T_From> && std::is_floating_point_v<T_To>
&& std::numeric_limits<T_From>::radix == std::numeric_limits<T_To>::radix
&& std::numeric_limits<T_From>::digits <= std::numeric_limits<T_To>::digits
&& std::numeric_limits<T_From>::max_exponent <= std::numeric_limits<T_To>::max_exponent
&& std::numeric_limits<T_From>::min_exponent >= std::numeric_limits<T_To>::min_exponent

Definition at line 28 of file vecConcepts.hpp.

◆ integralFloatLossless

template<typename T_From, typename T_To>
bool alpaka::concepts::detail::integralFloatLossless
constexpr
Initial value:
= std::is_integral_v<T_From> && std::is_floating_point_v<T_To>
&& (std::numeric_limits<T_From>::digits + std::is_signed_v<T_From>)
<= std::numeric_limits<T_To>::digits

Definition at line 38 of file vecConcepts.hpp.

◆ integralIntegralLossless

template<typename T_From, typename T_To>
bool alpaka::concepts::detail::integralIntegralLossless
constexpr
Initial value:
= std::is_integral_v<T_From> && std::is_integral_v<T_To>
&& ((std::is_signed_v<T_From> == std::is_signed_v<T_To>
&& std::numeric_limits<T_From>::digits <= std::numeric_limits<T_To>::digits)
|| (std::is_unsigned_v<T_From> && std::is_signed_v<T_To>
&& std::numeric_limits<T_From>::digits < std::numeric_limits<T_To>::digits))

Definition at line 19 of file vecConcepts.hpp.