magic_division16_bit_range Struct Reference

magic_division16_bit_range Struct Reference#

Composable Kernel: ck_tile::magic_division16_bit_range Struct Reference
ck_tile::magic_division16_bit_range Struct Reference

#include <magic_div.hpp>

Static Public Member Functions

static constexpr CK_TILE_HOST_DEVICE auto calculate_magic_numbers (uint32_t divisor)
 
template<auto Divisor>
static constexpr CK_TILE_HOST_DEVICE auto calculate_magic_numbers (constant< Divisor >)
 
static constexpr CK_TILE_DEVICE uint32_t do_magic_division (uint32_t dividend, uint32_t multiplier, uint32_t shift)
 
static constexpr CK_TILE_HOST uint32_t do_magic_division (uint32_t dividend, uint32_t multiplier, uint32_t shift)
 
static constexpr CK_TILE_DEVICE int32_t do_magic_division (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
 
static constexpr CK_TILE_HOST int32_t do_magic_division (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
 

Member Function Documentation

◆ calculate_magic_numbers() [1/2]

template<auto Divisor>
static constexpr CK_TILE_HOST_DEVICE auto ck_tile::magic_division16_bit_range::calculate_magic_numbers ( constant< Divisor >  )
inlinestaticconstexpr

◆ calculate_magic_numbers() [2/2]

static constexpr CK_TILE_HOST_DEVICE auto ck_tile::magic_division16_bit_range::calculate_magic_numbers ( uint32_t  divisor)
inlinestaticconstexpr

◆ do_magic_division() [1/4]

static constexpr CK_TILE_DEVICE int32_t ck_tile::magic_division16_bit_range::do_magic_division ( int32_t  dividend_i32,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ do_magic_division() [2/4]

static constexpr CK_TILE_HOST int32_t ck_tile::magic_division16_bit_range::do_magic_division ( int32_t  dividend_i32,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ do_magic_division() [3/4]

static constexpr CK_TILE_DEVICE uint32_t ck_tile::magic_division16_bit_range::do_magic_division ( uint32_t  dividend,
uint32_t  multiplier,
uint32_t  shift 
)
inlinestaticconstexpr

◆ do_magic_division() [4/4]

static constexpr CK_TILE_HOST uint32_t ck_tile::magic_division16_bit_range::do_magic_division ( 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_tile/core/utility/magic_div.hpp