Blender V4.3
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 207 of file vk_data_conversion.hh.

Member Function Documentation

◆ clear_exponent()

◆ clear_mantissa()

◆ clear_sign()

template<bool HasSignBit, uint8_t MantissaBitLen, uint8_t ExponentBitLen>
static 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>
static uint32_t blender::gpu::FloatingPointFormat< HasSignBit, MantissaBitLen, ExponentBitLen >::get_exponent ( uint32_t floating_point_number)
inlinestatic

◆ get_mantissa()

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

◆ is_signed()

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

◆ set_exponent()

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

◆ set_mantissa()

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

◆ set_sign()

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

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 219 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 217 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

◆ EXPONENT_SHIFT

◆ 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 220 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 209 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 212 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

◆ 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 215 of file vk_data_conversion.hh.

◆ MANTISSA_SHIFT

◆ 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

◆ SIGN_SHIFT


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