Blender V4.3
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)