magic_division32_bit_range Struct Reference

magic_division32_bit_range Struct Reference#

Composable Kernel: ck_tile::magic_division32_bit_range Struct Reference
ck_tile::magic_division32_bit_range Struct Reference

#include <magic_div.hpp>

Static Public Member Functions

static CK_TILE_HOST_DEVICE constexpr auto calculate_magic_numbers (uint32_t divisor)
template<auto Divisor, typename = std::enable_if_t<(0 < Divisor)>>
static CK_TILE_HOST_DEVICE constexpr auto calculate_magic_numbers (constant< Divisor >)
static CK_TILE_DEVICE constexpr uint32_t do_magic_division (uint32_t dividend, uint32_t multiplier, uint32_t shift)
static CK_TILE_HOST constexpr uint32_t do_magic_division (uint32_t dividend, uint32_t multiplier, uint32_t shift)
static CK_TILE_DEVICE constexpr int32_t do_magic_division (int32_t dividend_i32, uint32_t multiplier, uint32_t shift)
static CK_TILE_HOST constexpr 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, typename = std::enable_if_t<(0 < Divisor)>>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::magic_division32_bit_range::calculate_magic_numbers ( constant< Divisor > )
inlinestaticconstexpr

◆ calculate_magic_numbers() [2/2]

CK_TILE_HOST_DEVICE constexpr auto ck_tile::magic_division32_bit_range::calculate_magic_numbers ( uint32_t divisor)
inlinestaticconstexpr

◆ do_magic_division() [1/4]

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

◆ do_magic_division() [2/4]

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

◆ do_magic_division() [3/4]

CK_TILE_HOST constexpr uint32_t ck_tile::magic_division32_bit_range::do_magic_division ( uint32_t dividend,
uint32_t multiplier,
uint32_t shift )
inlinestaticconstexpr

◆ do_magic_division() [4/4]

CK_TILE_DEVICE constexpr uint32_t ck_tile::magic_division32_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: