Blender V5.0
BLI_fixed_width_int.hh File Reference
#include <cmath>
#include "BLI_string_ref.hh"
#include "BLI_unroll.hh"

Go to the source code of this file.

Classes

struct  blender::fixed_width_int::UIntF< T, S >
struct  blender::fixed_width_int::IntF< T, S >
struct  blender::fixed_width_int::DoubleUIntType< T >
struct  blender::fixed_width_int::DoubleUIntType< uint8_t >
struct  blender::fixed_width_int::DoubleUIntType< uint16_t >
struct  blender::fixed_width_int::DoubleUIntType< uint32_t >
struct  blender::fixed_width_int::DoubleUIntType< uint64_t >

Namespaces

namespace  blender
namespace  blender::fixed_width_int

Typedefs

template<typename T>
using blender::fixed_width_int::double_uint_type = typename DoubleUIntType<T>::type
using blender::fixed_width_int::UInt64_8 = UIntF<uint8_t, 8>
using blender::fixed_width_int::UInt64_16 = UIntF<uint16_t, 4>
using blender::fixed_width_int::UInt64_32 = UIntF<uint32_t, 2>
using blender::fixed_width_int::Int64_8 = IntF<uint8_t, 8>
using blender::fixed_width_int::Int64_16 = IntF<uint16_t, 4>
using blender::fixed_width_int::Int64_32 = IntF<uint32_t, 2>
using blender::fixed_width_int::UInt128_8 = UIntF<uint8_t, 16>
using blender::fixed_width_int::UInt128_16 = UIntF<uint16_t, 8>
using blender::fixed_width_int::UInt128_32 = UIntF<uint32_t, 4>
using blender::fixed_width_int::UInt128_64 = UIntF<uint64_t, 2>
using blender::fixed_width_int::UInt256_8 = UIntF<uint8_t, 32>
using blender::fixed_width_int::UInt256_16 = UIntF<uint16_t, 16>
using blender::fixed_width_int::UInt256_32 = UIntF<uint32_t, 8>
using blender::fixed_width_int::UInt256_64 = UIntF<uint64_t, 4>
using blender::fixed_width_int::Int128_8 = IntF<uint8_t, 16>
using blender::fixed_width_int::Int128_16 = IntF<uint16_t, 8>
using blender::fixed_width_int::Int128_32 = IntF<uint32_t, 4>
using blender::fixed_width_int::Int128_64 = IntF<uint64_t, 2>
using blender::fixed_width_int::Int256_8 = IntF<uint8_t, 32>
using blender::fixed_width_int::Int256_16 = IntF<uint16_t, 16>
using blender::fixed_width_int::Int256_32 = IntF<uint32_t, 8>
using blender::fixed_width_int::Int256_64 = IntF<uint64_t, 4>
using blender::fixed_width_int::UInt128 = UInt128_64
using blender::fixed_width_int::UInt256 = UInt256_64
using blender::fixed_width_int::Int128 = Int128_64
using blender::fixed_width_int::Int256 = Int256_64

Functions

template<typename T, typename T2, int S>
void blender::fixed_width_int::generic_add (T *__restrict dst, const T *a, const T *b)
template<typename T, typename T2, int S>
void blender::fixed_width_int::generic_sub (T *__restrict dst, const T *a, const T *b)
template<typename T, typename T2, int S>
void blender::fixed_width_int::generic_unsigned_mul (T *__restrict dst, const T *a, const T *b)
template<typename T, int Size, BLI_ENABLE_IF((!std::is_void_v< double_uint_type< T > >))>
UIntF< T, Size > blender::fixed_width_int::operator+ (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size, BLI_ENABLE_IF((!std::is_void_v< double_uint_type< T > >))>
IntF< T, Size > blender::fixed_width_int::operator+ (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
UIntF< T, Size > blender::fixed_width_int::operator- (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
IntF< T, Size > blender::fixed_width_int::operator- (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size, BLI_ENABLE_IF((!std::is_void_v< double_uint_type< T > >))>
UIntF< T, Size > blender::fixed_width_int::operator* (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::is_negative (const IntF< T, Size > &a)
template<typename T, int Size>
bool blender::fixed_width_int::is_zero (const UIntF< T, Size > &a)
template<typename T, int Size>
bool blender::fixed_width_int::is_zero (const IntF< T, Size > &a)
template<typename T, int Size, BLI_ENABLE_IF((!std::is_void_v< double_uint_type< T > >))>
IntF< T, Size > blender::fixed_width_int::operator* (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
IntF< T, Size > blender::fixed_width_int::operator- (const IntF< T, Size > &a)
template<typename T, int Size>
void blender::fixed_width_int::operator+= (UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
void blender::fixed_width_int::operator+= (IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
void blender::fixed_width_int::operator-= (UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
void blender::fixed_width_int::operator-= (IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
void blender::fixed_width_int::operator*= (UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
void blender::fixed_width_int::operator*= (IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator== (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator== (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator!= (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator!= (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, size_t Size>
int blender::fixed_width_int::compare_reversed_order (const std::array< T, Size > &a, const std::array< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator< (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator<= (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator> (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator>= (const IntF< T, Size > &a, const IntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator< (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator<= (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator> (const UIntF< T, Size > &a, const UIntF< T, Size > &b)
template<typename T, int Size>
bool blender::fixed_width_int::operator>= (const UIntF< T, Size > &a, const UIntF< T, Size > &b)