Blender V5.0
blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen > Class Template Reference

#include <vk_data_conversion.hh>

Static Public Member Functions

static uint32_t get_mantissa (uint32_t floating_point_number)
static uint32_t clear_mantissa (uint32_t floating_point_number)
static uint32_t set_mantissa (uint32_t mantissa, uint32_t floating_point_number)
static uint32_t get_exponent (uint32_t floating_point_number)
static uint32_t clear_exponent (uint32_t floating_point_number)
static uint32_t set_exponent (uint32_t exponent, uint32_t floating_point_number)
static bool is_signed (uint32_t floating_point_number)
static uint32_t clear_sign (uint32_t floating_point_number)
static uint32_t set_sign (bool sign, uint32_t floating_point_number)

Static Public Attributes

static constexpr bool HAS_SIGN = HasSignBit
static constexpr uint8_t SIGN_SHIFT = MantissaBitLen + ExponentBitLen
static constexpr uint32_t SIGN_MASK = HasSignBit ? 1 : 0
static constexpr uint8_t MANTISSA_LEN = MantissaBitLen
static constexpr uint8_t MANTISSA_SHIFT = 0
static constexpr uint32_t MANTISSA_MASK = (1 << MantissaBitLen) - 1
static constexpr uint32_t MANTISSA_NAN_MASK = MANTISSA_MASK
static constexpr uint8_t EXPONENT_SHIFT = MantissaBitLen
static constexpr uint8_t EXPONENT_LEN = ExponentBitLen
static constexpr uint32_t EXPONENT_MASK = (1 << ExponentBitLen) - 1
static constexpr int32_t EXPONENT_BIAS = (1 << (ExponentBitLen - 1)) - 1
static constexpr int32_t EXPONENT_SPECIAL_MASK = EXPONENT_MASK

Detailed Description

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
class blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >

Description of a IEEE 754-1985 floating point data type.

Definition at line 70 of file vk_data_conversion.hh.

Member Function Documentation

◆ clear_exponent()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::clear_exponent ( uint32_t floating_point_number)
inlinestatic

◆ clear_mantissa()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::clear_mantissa ( uint32_t floating_point_number)
inlinestatic

◆ clear_sign()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::clear_sign ( uint32_t floating_point_number)
inlinestatic

◆ get_exponent()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::get_exponent ( uint32_t floating_point_number)
inlinestatic

Definition at line 100 of file vk_data_conversion.hh.

◆ get_mantissa()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::get_mantissa ( uint32_t floating_point_number)
inlinestatic

Definition at line 85 of file vk_data_conversion.hh.

◆ is_signed()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
bool blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::is_signed ( uint32_t floating_point_number)
inlinestatic

Definition at line 115 of file vk_data_conversion.hh.

◆ set_exponent()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::set_exponent ( uint32_t exponent,
uint32_t floating_point_number )
inlinestatic

Definition at line 108 of file vk_data_conversion.hh.

◆ set_mantissa()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::set_mantissa ( uint32_t mantissa,
uint32_t floating_point_number )
inlinestatic

Definition at line 93 of file vk_data_conversion.hh.

◆ set_sign()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::set_sign ( bool sign,
uint32_t floating_point_number )
inlinestatic

Definition at line 127 of file vk_data_conversion.hh.

Member Data Documentation

◆ EXPONENT_BIAS

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
int32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::EXPONENT_BIAS = (1 << (ExponentBitLen - 1)) - 1
staticconstexpr

Definition at line 82 of file vk_data_conversion.hh.

◆ EXPONENT_LEN

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint8_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::EXPONENT_LEN = ExponentBitLen
staticconstexpr

Definition at line 80 of file vk_data_conversion.hh.

◆ EXPONENT_MASK

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::EXPONENT_MASK = (1 << ExponentBitLen) - 1
staticconstexpr

Definition at line 81 of file vk_data_conversion.hh.

◆ EXPONENT_SHIFT

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint8_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::EXPONENT_SHIFT = MantissaBitLen
staticconstexpr

Definition at line 79 of file vk_data_conversion.hh.

◆ EXPONENT_SPECIAL_MASK

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
int32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::EXPONENT_SPECIAL_MASK = EXPONENT_MASK
staticconstexpr

Definition at line 83 of file vk_data_conversion.hh.

◆ HAS_SIGN

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
bool blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::HAS_SIGN = HasSignBit
staticconstexpr

Definition at line 72 of file vk_data_conversion.hh.

◆ MANTISSA_LEN

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint8_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::MANTISSA_LEN = MantissaBitLen
staticconstexpr

Definition at line 75 of file vk_data_conversion.hh.

◆ MANTISSA_MASK

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::MANTISSA_MASK = (1 << MantissaBitLen) - 1
staticconstexpr

Definition at line 77 of file vk_data_conversion.hh.

◆ MANTISSA_NAN_MASK

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::MANTISSA_NAN_MASK = MANTISSA_MASK
staticconstexpr

Definition at line 78 of file vk_data_conversion.hh.

◆ MANTISSA_SHIFT

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint8_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::MANTISSA_SHIFT = 0
staticconstexpr

Definition at line 76 of file vk_data_conversion.hh.

◆ SIGN_MASK

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::SIGN_MASK = HasSignBit ? 1 : 0
staticconstexpr

Definition at line 74 of file vk_data_conversion.hh.

◆ SIGN_SHIFT

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
uint8_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::SIGN_SHIFT = MantissaBitLen + ExponentBitLen
staticconstexpr

Definition at line 73 of file vk_data_conversion.hh.


The documentation for this class was generated from the following file: