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 __device__ constexpr auto CalculateMagicNumbers (uint32_t divisor)
__host__ static __device__ constexpr uint32_t CalculateMagicMultiplier (uint32_t divisor)
__host__ static __device__ constexpr uint32_t CalculateMagicShift (uint32_t divisor)
template<uint32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicNumbers (integral_constant< uint32_t, Divisor >)
template<uint32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicMultiplier (integral_constant< uint32_t, Divisor >)
template<uint32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicShift (integral_constant< uint32_t, Divisor >)
template<int32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicNumbers (integral_constant< int32_t, Divisor >)
template<int32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicMultiplier (integral_constant< int32_t, Divisor >)
template<int32_t Divisor>
__host__ static __device__ constexpr auto CalculateMagicShift (integral_constant< int32_t, Divisor >)
static __device__ constexpr uint32_t DoMagicDivision (uint32_t dividend, uint32_t multiplier, uint32_t shift)
static __host__ constexpr uint32_t DoMagicDivision (uint32_t dividend, uint32_t multiplier, uint32_t shift)
static __device__ constexpr int32_t DoMagicDivision (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
static __host__ constexpr 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 __device__ constexpr auto ck::MagicDivision::CalculateMagicMultiplier ( integral_constant< int32_t, Divisor > )
inlinestaticconstexpr

◆ CalculateMagicMultiplier() [2/3]

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

◆ CalculateMagicMultiplier() [3/3]

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

◆ CalculateMagicNumbers() [1/3]

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

◆ CalculateMagicNumbers() [2/3]

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

◆ CalculateMagicNumbers() [3/3]

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

◆ CalculateMagicShift() [1/3]

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

◆ CalculateMagicShift() [2/3]

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

◆ CalculateMagicShift() [3/3]

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

◆ DoMagicDivision() [1/4]

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

◆ DoMagicDivision() [2/4]

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

◆ DoMagicDivision() [3/4]

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

◆ DoMagicDivision() [4/4]

__device__ constexpr 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: