|
Blender V4.5
|
#include <BLI_fixed_width_int.hh>
Public Member Functions | |
| UIntF ()=default | |
| UIntF (uint64_t value) | |
| UIntF (StringRefNull str, int base=10) | |
| operator uint64_t () const | |
| operator double () const | |
| operator float () const | |
Public Attributes | |
| std::array< T, S > | v |
An unsigned fixed width integer.
For some algorithms, the largest cross platform integer type (uint64_t) is not large enough. Then one has the choice to use some big-integer implementation like the one from GMP or one can use fixed-width-integers as implemented here.
Internally, this type combines multiple smaller integers into a bigger integer.
Definition at line 27 of file BLI_fixed_width_int.hh.
|
default |
Allow default construction. Note that the value is not initialized in this case.
|
inlineexplicit |
Construct from a specific integer.
Definition at line 169 of file BLI_fixed_width_int.hh.
|
explicit |
Construct from a string.
|
inlineexplicit |
Convert to floating point. This may lose precision.
Definition at line 222 of file BLI_fixed_width_int.hh.
|
inlineexplicit |
Definition at line 235 of file BLI_fixed_width_int.hh.
|
inlineexplicit |
Convert to a normal integer. Note that this may lose digits.
Definition at line 210 of file BLI_fixed_width_int.hh.
| std::array<T, S> blender::fixed_width_int::UIntF< T, S >::v |
Array of smaller integers that make up the bigger integer. The first element is the least significant digit.
Definition at line 35 of file BLI_fixed_width_int.hh.
Referenced by blender::fixed_width_int::is_zero(), blender::fixed_width_int::IntF< T, S >::operator UIntF< T, S >(), blender::fixed_width_int::operator!=(), blender::fixed_width_int::operator*(), blender::fixed_width_int::operator+(), blender::fixed_width_int::operator-(), blender::fixed_width_int::operator<(), blender::fixed_width_int::operator<=(), blender::fixed_width_int::operator==(), blender::fixed_width_int::operator>(), and blender::fixed_width_int::operator>=().