Freeze< LowerIndex > Struct Template Reference

Freeze&lt; LowerIndex &gt; Struct Template Reference#

Composable Kernel: ck::Freeze< LowerIndex > Struct Template Reference
ck::Freeze< LowerIndex > Struct Template Reference

#include <multi_index_transform.hpp>

Public Member Functions

__host__ __device__ constexpr Freeze ()=default
__host__ __device__ constexpr Freeze (const LowerIndex &low_idx)
template<typename LowIdx, typename UpIdx>
__host__ __device__ constexpr void CalculateLowerIndex (LowIdx &idx_low, const UpIdx &) const
__host__ __device__ void Print () const

Static Public Member Functions

__host__ static __device__ constexpr index_t GetNumOfLowerDimension ()
__host__ static __device__ constexpr index_t GetNumOfUpperDimension ()
__host__ static __device__ constexpr auto GetUpperLengths ()
template<typename LowIdxDiff, typename UpIdxDiff, typename LowIdx, typename UpIdx, index_t Hack>
__host__ static __device__ void UpdateLowerIndex (LowIdxDiff &idx_diff_low, const UpIdxDiff &, LowIdx &, const UpIdx &, Number< Hack >)
__host__ static __device__ constexpr bool IsLinearTransform ()
__host__ static __device__ constexpr bool IsValidUpperIndexAlwaysMappedToValidLowerIndex ()
template<typename UpIdx>
__host__ static __device__ constexpr bool IsValidUpperIndexMappedToValidLowerIndex (const UpIdx &)
__host__ static __device__ constexpr bool IsKnownAtCompileTime ()

Public Attributes

LowerIndex low_idx_

Constructor & Destructor Documentation

◆ Freeze() [1/2]

template<typename LowerIndex>
__host__ __device__ constexpr ck::Freeze< LowerIndex >::Freeze ( )
constexprdefault

◆ Freeze() [2/2]

template<typename LowerIndex>
__host__ __device__ constexpr ck::Freeze< LowerIndex >::Freeze ( const LowerIndex & low_idx)
inlineconstexpr

Member Function Documentation

◆ CalculateLowerIndex()

template<typename LowerIndex>
template<typename LowIdx, typename UpIdx>
__host__ __device__ constexpr void ck::Freeze< LowerIndex >::CalculateLowerIndex ( LowIdx & idx_low,
const UpIdx &  ) const
inlineconstexpr

◆ GetNumOfLowerDimension()

template<typename LowerIndex>
__host__ static __device__ constexpr index_t ck::Freeze< LowerIndex >::GetNumOfLowerDimension ( )
inlinestaticconstexpr

◆ GetNumOfUpperDimension()

template<typename LowerIndex>
__host__ static __device__ constexpr index_t ck::Freeze< LowerIndex >::GetNumOfUpperDimension ( )
inlinestaticconstexpr

◆ GetUpperLengths()

template<typename LowerIndex>
__host__ static __device__ constexpr auto ck::Freeze< LowerIndex >::GetUpperLengths ( )
inlinestaticconstexpr

◆ IsKnownAtCompileTime()

template<typename LowerIndex>
__host__ static __device__ constexpr bool ck::Freeze< LowerIndex >::IsKnownAtCompileTime ( )
inlinestaticconstexpr

◆ IsLinearTransform()

template<typename LowerIndex>
__host__ static __device__ constexpr bool ck::Freeze< LowerIndex >::IsLinearTransform ( )
inlinestaticconstexpr

◆ IsValidUpperIndexAlwaysMappedToValidLowerIndex()

template<typename LowerIndex>
__host__ static __device__ constexpr bool ck::Freeze< LowerIndex >::IsValidUpperIndexAlwaysMappedToValidLowerIndex ( )
inlinestaticconstexpr

◆ IsValidUpperIndexMappedToValidLowerIndex()

template<typename LowerIndex>
template<typename UpIdx>
__host__ static __device__ constexpr bool ck::Freeze< LowerIndex >::IsValidUpperIndexMappedToValidLowerIndex ( const UpIdx & )
inlinestaticconstexpr

◆ Print()

template<typename LowerIndex>
__host__ __device__ void ck::Freeze< LowerIndex >::Print ( ) const
inline

◆ UpdateLowerIndex()

template<typename LowerIndex>
template<typename LowIdxDiff, typename UpIdxDiff, typename LowIdx, typename UpIdx, index_t Hack>
__host__ static __device__ void ck::Freeze< LowerIndex >::UpdateLowerIndex ( LowIdxDiff & idx_diff_low,
const UpIdxDiff & ,
LowIdx & ,
const UpIdx & ,
Number< Hack >  )
inlinestatic

Member Data Documentation

◆ low_idx_

template<typename LowerIndex>
LowerIndex ck::Freeze< LowerIndex >::low_idx_

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