alpaka
Abstraction Library for Parallel Kernel Acceleration
Integral.hpp File Reference
#include <type_traits>

Go to the source code of this file.

Namespaces

 alpaka
 The alpaka accelerator library.
 
 alpaka::meta
 

Typedefs

template<typename T0 , typename T1 >
using alpaka::meta::HigherMax = std::conditional_t<(sizeof(T0) > sizeof(T1)), T0, std::conditional_t<((sizeof(T0)==sizeof(T1)) &&std::is_unsigned_v< T0 > &&std::is_signed_v< T1 >), T0, T1 > >
 The type that has the higher max value. More...
 
template<typename T0 , typename T1 >
using alpaka::meta::HigherMin = std::conditional_t<(std::is_unsigned_v< T0 >==std::is_unsigned_v< T1 >), std::conditional_t< std::is_unsigned_v< T0 >, std::conditional_t<(sizeof(T0)< sizeof(T1)), T1, T0 >, std::conditional_t<(sizeof(T0)< sizeof(T1)), T0, T1 > >, std::conditional_t< std::is_unsigned_v< T0 >, T0, T1 > >
 The type that has the higher min value. If both types have the same min value, the type with the wider range is chosen. More...
 
template<typename TSuperset , typename TSubset >
using alpaka::meta::IsIntegralSuperset = std::integral_constant< bool, std::is_integral_v< TSuperset > &&std::is_integral_v< TSubset > &&(((std::is_unsigned_v< TSuperset >==std::is_unsigned_v< TSubset >) &&(sizeof(TSuperset) >=sizeof(TSubset)))||((std::is_unsigned_v< TSuperset > !=std::is_unsigned_v< TSubset >) &&(sizeof(TSuperset) > sizeof(TSubset))))>
 The trait is true if all values of TSubset are contained in TSuperset. More...
 
template<typename T0 , typename T1 >
using alpaka::meta::LowerMax = std::conditional_t<(sizeof(T0)< sizeof(T1)), T0, std::conditional_t<((sizeof(T0)==sizeof(T1)) &&std::is_signed_v< T0 > &&std::is_unsigned_v< T1 >), T0, T1 > >
 The type that has the lower max value. More...
 
template<typename T0 , typename T1 >
using alpaka::meta::LowerMin = std::conditional_t<(std::is_unsigned_v< T0 >==std::is_unsigned_v< T1 >), std::conditional_t<(sizeof(T0) > sizeof(T1)), T0, T1 >, std::conditional_t< std::is_signed_v< T0 >, T0, T1 > >
 The type that has the lower min value. If both types have the same min value, the type with the wider range is chosen. More...