MagicDivision Struct Reference

MagicDivision Struct Reference#

Composable Kernel: ck::MagicDivision Struct Reference
ck::MagicDivision Struct Reference

#include <magic_division.hpp>

Static Public Member Functions

__host__ static constexpr __device__ auto CalculateMagicNumbers (uint32_t divisor)
 
__host__ static constexpr __device__ uint32_t CalculateMagicMultiplier (uint32_t divisor)
 
__host__ static constexpr __device__ uint32_t CalculateMagicShift (uint32_t divisor)
 
template<uint32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicNumbers (integral_constant< uint32_t, Divisor >)
 
template<uint32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicMultiplier (integral_constant< uint32_t, Divisor >)
 
template<uint32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicShift (integral_constant< uint32_t, Divisor >)
 
template<int32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicNumbers (integral_constant< int32_t, Divisor >)
 
template<int32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicMultiplier (integral_constant< int32_t, Divisor >)
 
template<int32_t Divisor>
__host__ static constexpr __device__ auto CalculateMagicShift (integral_constant< int32_t, Divisor >)
 
static constexpr __device__ uint32_t DoMagicDivision (uint32_t dividend, uint32_t multiplier, uint32_t shift)
 
static constexpr __host__ uint32_t DoMagicDivision (uint32_t dividend, uint32_t multiplier, uint32_t shift)
 
static constexpr __device__ int32_t DoMagicDivision (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
 
static constexpr __host__ int32_t DoMagicDivision (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
 

Member Function Documentation

◆ CalculateMagicMultiplier() [1/3]

template<int32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicMultiplier ( integral_constant< int32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicMultiplier() [2/3]

template<uint32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicMultiplier ( integral_constant< uint32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicMultiplier() [3/3]

__host__ static constexpr __device__ uint32_t ck::MagicDivision::CalculateMagicMultiplier ( uint32_t  divisor)
inlinestaticconstexpr

◆ CalculateMagicNumbers() [1/3]

template<int32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicNumbers ( integral_constant< int32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicNumbers() [2/3]

template<uint32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicNumbers ( integral_constant< uint32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicNumbers() [3/3]

__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicNumbers ( uint32_t  divisor)
inlinestaticconstexpr

◆ CalculateMagicShift() [1/3]

template<int32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicShift ( integral_constant< int32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicShift() [2/3]

template<uint32_t Divisor>
__host__ static constexpr __device__ auto ck::MagicDivision::CalculateMagicShift ( integral_constant< uint32_t, Divisor >  )
inlinestaticconstexpr

◆ CalculateMagicShift() [3/3]

__host__ static constexpr __device__ uint32_t ck::MagicDivision::CalculateMagicShift ( uint32_t  divisor)
inlinestaticconstexpr

◆ DoMagicDivision() [1/4]

static constexpr __device__ int32_t ck::MagicDivision::DoMagicDivision ( int32_t  dividend_i32,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ DoMagicDivision() [2/4]

static constexpr __host__ int32_t ck::MagicDivision::DoMagicDivision ( int32_t  dividend_i32,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ DoMagicDivision() [3/4]

static constexpr __device__ uint32_t ck::MagicDivision::DoMagicDivision ( uint32_t  dividend,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ DoMagicDivision() [4/4]

static constexpr __host__ uint32_t ck::MagicDivision::DoMagicDivision ( uint32_t  dividend,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

The documentation for this struct was generated from the following file:
  • /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck/utility/magic_division.hpp