magic_division32_bit_range Struct Reference#
ck_tile::magic_division32_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, typename = std::enable_if_t<(0 < 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, typename = std::enable_if_t<(0 < Divisor)>>
|
inlinestaticconstexpr |
◆ calculate_magic_numbers() [2/2]
|
inlinestaticconstexpr |
◆ do_magic_division() [1/4]
|
inlinestaticconstexpr |
◆ do_magic_division() [2/4]
|
inlinestaticconstexpr |
◆ do_magic_division() [3/4]
|
inlinestaticconstexpr |
◆ do_magic_division() [4/4]
|
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/develop/include/ck_tile/core/utility/magic_div.hpp