Disk ARchive
2.7.15
Full featured and portable backup and archiving tool
|
the arbitrary large positive integer class More...
#include <real_infinint.hpp>
Public Member Functions | |
infinint (size_t a=0) | |
infinint (proto_generic_file &x) | |
read an infinint from a file | |
infinint (const infinint &ref) | |
infinint (infinint &&ref) noexcept | |
infinint & | operator= (const infinint &ref) |
infinint & | operator= (infinint &&ref) noexcept |
void | dump (proto_generic_file &x) const |
void | read (proto_generic_file &f) |
infinint & | operator+= (const infinint &ref) |
infinint & | operator-= (const infinint &ref) |
infinint & | operator*= (unsigned char arg) |
infinint & | operator*= (const infinint &ref) |
template<class T > | |
infinint | power (const T &exponent) const |
infinint & | operator/= (const infinint &ref) |
infinint & | operator%= (const infinint &ref) |
infinint & | operator&= (const infinint &ref) |
infinint & | operator|= (const infinint &ref) |
infinint & | operator^= (const infinint &ref) |
infinint & | operator>>= (U_32 bit) |
infinint & | operator>>= (infinint bit) |
infinint & | operator<<= (U_32 bit) |
infinint & | operator<<= (infinint bit) |
infinint | operator++ (int a) |
infinint | operator-- (int a) |
infinint & | operator++ () |
infinint & | operator-- () |
U_32 | operator% (U_32 arg) const |
template<class T > | |
void | unstack (T &v) |
convert infinint to standard interger types More... | |
infinint | get_storage_size () const noexcept |
it returns number of byte of information necessary to store the integer | |
unsigned char | operator[] (const infinint &position) const |
return in little endian order the information byte storing the integer | |
bool | is_zero () const |
Static Public Member Functions | |
static bool | is_system_big_endian () |
Private Types | |
enum | endian { big_endian , little_endian , not_initialized } |
using | group = unsigned char[TG] |
Private Member Functions | |
bool | is_valid () const noexcept |
void | build_from_file (proto_generic_file &x) |
void | reduce () |
void | copy_from (const infinint &ref) |
void | move_from (infinint &&ref) noexcept |
void | detruit () |
void | make_at_least_as_wider_as (const infinint &ref) |
template<class T > | |
void | infinint_from (T a) |
template<class T > | |
T | max_val_of (T x) |
template<class T > | |
void | infinint_unstack_to (T &a) |
template<class T > | |
T | modulo (T arg) const |
signed int | difference (const infinint &b) const |
Static Private Member Functions | |
static void | setup_endian () |
Private Attributes | |
storage * | field |
Static Private Attributes | |
static constexpr int | TG = 4 |
static endian | used_endian |
static U_8 | zeroed_field [ZEROED_SIZE] |
Friends | |
bool | operator< (const infinint &, const infinint &) |
bool | operator== (const infinint &, const infinint &) |
bool | operator> (const infinint &, const infinint &) |
bool | operator<= (const infinint &, const infinint &) |
bool | operator!= (const infinint &, const infinint &) |
bool | operator>= (const infinint &, const infinint &) |
void | euclide (infinint a, const infinint &b, infinint &q, infinint &r) |
the arbitrary large positive integer class
can only handle positive integer numbers
Definition at line 61 of file real_infinint.hpp.