Loading...
Searching...
No Matches
libdar::infinint Class Reference
API

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
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)

## Detailed Description

the arbitrary large positive integer class

can only handle positive integer numbers

Note
  if you just want to convert an infinint integer to its decimal representation see the class libdar::deci

Definition at line 61 of file real_infinint.hpp.

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

- real_infinint.hpp