StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference

StaticTensor&lt; AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type &gt; Struct Template Reference#

Composable Kernel: ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference
ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type > Struct Template Reference

#include <static_tensor.hpp>

Public Member Functions

__host__ __device__ constexpr StaticTensor ()
__host__ __device__ constexpr StaticTensor (T invalid_element_value)
template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ __device__ constexpr const T & operator[] (Idx) const
template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ __device__ constexpr T & operator() (Idx)

Public Attributes

StaticBuffer< AddressSpace, T, element_space_size_, true > data_
const T invalid_element_scalar_value_
ignored_element_scalar_

Static Public Attributes

static constexpr auto desc_ = TensorDesc{}
static constexpr index_t ndim_ = TensorDesc::GetNumOfDimension()
static constexpr index_t element_space_size_ = desc_.GetElementSpaceSize()
static constexpr T zero_scalar_value_ = T{0}

Constructor & Destructor Documentation

◆ StaticTensor() [1/2]

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
__host__ __device__ constexpr ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::StaticTensor ( )
inlineconstexpr

◆ StaticTensor() [2/2]

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
__host__ __device__ constexpr ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::StaticTensor ( T invalid_element_value)
inlineconstexpr

Member Function Documentation

◆ operator()()

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ __device__ constexpr T & ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::operator() ( Idx )
inlineconstexpr

◆ operator[]()

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
template<typename Idx, typename enable_if< is_known_at_compile_time< Idx >::value &&Idx::Size()==ndim_, bool >::type = false>
__host__ __device__ constexpr const T & ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::operator[] ( Idx ) const
inlineconstexpr

Member Data Documentation

◆ data_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
StaticBuffer<AddressSpace, T, element_space_size_, true> ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::data_

◆ desc_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
auto ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::desc_ = TensorDesc{}
staticconstexpr

◆ element_space_size_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
index_t ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::element_space_size_ = desc_.GetElementSpaceSize()
staticconstexpr

◆ ignored_element_scalar_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::ignored_element_scalar_

◆ invalid_element_scalar_value_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
const T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::invalid_element_scalar_value_

◆ ndim_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
index_t ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::ndim_ = TensorDesc::GetNumOfDimension()
staticconstexpr

◆ zero_scalar_value_

template<AddressSpaceEnum AddressSpace, typename T, typename TensorDesc, bool InvalidElementUseNumericalZeroValue, typename enable_if< TensorDesc::IsKnownAtCompileTime(), bool >::type = false>
T ck::StaticTensor< AddressSpace, T, TensorDesc, InvalidElementUseNumericalZeroValue, type >::zero_scalar_value_ = T{0}
staticconstexpr

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