enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > > Struct Template Reference

enable_if_t&lt; sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 &gt; &gt; Struct Template Reference#

Composable Kernel: ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > > Struct Template Reference
ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > > Struct Template Reference

#include <dtype_vector.hpp>

Classes

union  alignas

Public Types

using data_t
using element_t = typename T::element_type
using data_v = element_t
using type = non_native_vector_base<T, N>

Public Member Functions

__host__ __device__ constexpr non_native_vector_base (data_t a)
__host__ __device__ constexpr non_native_vector_base (T f)
__host__ __device__ constexpr non_native_vector_base ()
__host__ __device__ constexpr non_native_vector_base (data_v v)
__host__ __device__ constexpr non_native_vector_base (element_t v)
__host__ __device__ constexpr operator data_v () const
__host__ __device__ constexpr operator T () const
template<typename X>
__host__ __device__ constexpr const auto & AsType () const

Public Attributes

union ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::alignas data_

Static Public Attributes

static constexpr size_t size_factor = sizeof(data_t) / sizeof(element_t)

Member Typedef Documentation

◆ data_t

template<typename T, index_t N>
using ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::data_t
Initial value:
unsigned _BitInt(8 *sizeof(T)) type
Definition dtype_vector.hpp:1282

◆ data_v

template<typename T, index_t N>
using ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::data_v = element_t

◆ element_t

template<typename T, index_t N>
using ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::element_t = typename T::element_type

◆ type

template<typename T, index_t N>
using ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::type = non_native_vector_base<T, N>

Constructor & Destructor Documentation

◆ non_native_vector_base() [1/5]

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::non_native_vector_base ( data_t a)
inlineconstexpr

◆ non_native_vector_base() [2/5]

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::non_native_vector_base ( T f)
inlineconstexpr

◆ non_native_vector_base() [3/5]

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::non_native_vector_base ( )
inlineconstexpr

◆ non_native_vector_base() [4/5]

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::non_native_vector_base ( data_v v)
inlineconstexpr

◆ non_native_vector_base() [5/5]

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::non_native_vector_base ( element_t v)
inlineconstexpr

Member Function Documentation

◆ AsType()

template<typename T, index_t N>
template<typename X>
__host__ __device__ constexpr const auto & ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::AsType ( ) const
inlineconstexpr

◆ operator data_v()

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::operator data_v ( ) const
inlineconstexpr

◆ operator T()

template<typename T, index_t N>
__host__ __device__ constexpr ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::operator T ( ) const
inlineconstexpr

Member Data Documentation

◆ data_

template<typename T, index_t N>
union ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::alignas ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::data_

◆ size_factor

template<typename T, index_t N>
size_t ck::non_native_vector_base< T, N, ck::enable_if_t< sizeof(T)==12||sizeof(T)==16||sizeof(T)==24||sizeof(T)==32 > >::size_factor = sizeof(data_t) / sizeof(element_t)
staticconstexpr

The documentation for this struct was generated from the following file: