RightPad< LowLength, RightPadLength, SkipIsValidCheck > Struct Template Reference

RightPad&lt; LowLength, RightPadLength, SkipIsValidCheck &gt; Struct Template Reference#

Composable Kernel: ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck > Struct Template Reference
ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck > Struct Template Reference

#include <multi_index_transform.hpp>

Public Types

using LowerIndex = MultiIndex<1>
using UpperIndex = MultiIndex<1>
using UpLengths = decltype(make_tuple(LowLength{} + RightPadLength{}))

Public Member Functions

__host__ __device__ constexpr RightPad ()=default
__host__ __device__ constexpr RightPad (const LowLength &low_length, const RightPadLength &right_pad_length)
__host__ __device__ constexpr const auto & GetUpperLengths () const
template<typename UpIdx>
__host__ __device__ constexpr bool IsValidUpperIndexMappedToValidLowerIndex (const UpIdx &idx_up) const
__host__ __device__ void Print () const

Static Public Member Functions

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

Public Attributes

UpLengths up_lengths_
LowLength low_length_
RightPadLength right_pad_length_

Member Typedef Documentation

◆ LowerIndex

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::LowerIndex = MultiIndex<1>

◆ UpLengths

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::UpLengths = decltype(make_tuple(LowLength{} + RightPadLength{}))

◆ UpperIndex

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::UpperIndex = MultiIndex<1>

Constructor & Destructor Documentation

◆ RightPad() [1/2]

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ __device__ constexpr ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::RightPad ( )
constexprdefault

◆ RightPad() [2/2]

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ __device__ constexpr ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::RightPad ( const LowLength & low_length,
const RightPadLength & right_pad_length )
inlineconstexpr

Member Function Documentation

◆ CalculateLowerIndex()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename LowIdx, typename UpIdx>
__host__ static __device__ constexpr void ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::CalculateLowerIndex ( LowIdx & idx_low,
const UpIdx & idx_up )
inlinestaticconstexpr

◆ GetNumOfLowerDimension()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ static __device__ constexpr index_t ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::GetNumOfLowerDimension ( )
inlinestaticconstexpr

◆ GetNumOfUpperDimension()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ static __device__ constexpr index_t ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::GetNumOfUpperDimension ( )
inlinestaticconstexpr

◆ GetUpperLengths()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ __device__ constexpr const auto & ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::GetUpperLengths ( ) const
inlineconstexpr

◆ IsKnownAtCompileTime()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ static __device__ constexpr bool ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::IsKnownAtCompileTime ( )
inlinestaticconstexpr

◆ IsLinearTransform()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ static __device__ constexpr bool ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::IsLinearTransform ( )
inlinestaticconstexpr

◆ IsValidUpperIndexAlwaysMappedToValidLowerIndex()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ static __device__ constexpr bool ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::IsValidUpperIndexAlwaysMappedToValidLowerIndex ( )
inlinestaticconstexpr

◆ IsValidUpperIndexMappedToValidLowerIndex()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename UpIdx>
__host__ __device__ constexpr bool ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::IsValidUpperIndexMappedToValidLowerIndex ( const UpIdx & idx_up) const
inlineconstexpr

◆ Print()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
__host__ __device__ void ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::Print ( ) const
inline

◆ UpdateLowerIndex()

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename LowIdxDiff, typename UpIdxDiff, typename LowIdx, typename UpIdx, index_t Hack>
__host__ static __device__ void ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::UpdateLowerIndex ( LowIdxDiff & idx_diff_low,
const UpIdxDiff & idx_diff_up,
LowIdx & idx_low,
const UpIdx & ,
Number< Hack >  )
inlinestatic

Member Data Documentation

◆ low_length_

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
LowLength ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::low_length_

◆ right_pad_length_

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
RightPadLength ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::right_pad_length_

◆ up_lengths_

template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
UpLengths ck::RightPad< LowLength, RightPadLength, SkipIsValidCheck >::up_lengths_

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