big_int.hpp File Reference

#include "config.hpp"
#include <cstddef>
#include <iostream>
#include <cstdlib>
#include <string>
#include <cctype>
#include <cmath>
#include <limits>
#include "frwrddecl.hpp"
#include "type_traits.hpp"
#include "type_pair_traits.hpp"
#include "exception.hpp"
#include "factory.hpp"
#include "powerest.hpp"
#include "intalg.hpp"
#include "bigar.hpp"
#include "std_import.hpp"
#include "big_int.cpp"

Go to the source code of this file.

Namespaces

namespace  Arageli
namespace  Arageli::_Internal
namespace  std

Classes

class  Arageli::big_int
 Big integer number. More...
class  Arageli::big_int::exception
 Exception of class big_int. More...
class  Arageli::big_int::incorrect_string
 Exeption. The throwing situation is incorrect format of string. More...
class  std::numeric_limits< Arageli::big_int >
 Specialization of std::numeric_limits for Arageli::big_int. More...

Standard integer mathematical operations.

big_int Arageli::operator+ (const big_int &b, const big_int &c)
big_int Arageli::operator- (const big_int &b, const big_int &c)
big_int Arageli::operator * (const big_int &b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, const big_int &c)
big_int Arageli::operator% (const big_int &b, const big_int &c)
big_int Arageli::operator<< (const big_int &a, std::size_t n)
big_int Arageli::operator>> (const big_int &a, std::size_t n)
big_int Arageli::operator| (const big_int &a, const big_int &b)
big_int Arageli::operator & (const big_int &a, const big_int &b)
big_int Arageli::operator^ (const big_int &a, const big_int &b)
template<typename T>
big_int Arageli::operator<< (const big_int &a, const T &b)
template<typename T>
big_int Arageli::operator>> (const big_int &a, const T &b)
template<typename T>
big_int & Arageli::operator<<= (big_int &a, const T &b)
big_int & Arageli::operator>>= (big_int &a, std::size_t b)
template<typename T>
big_int & Arageli::operator>>= (big_int &a, const T &b)

Standard comparision operations.

bool Arageli::operator== (const big_int &a, const big_int &b)
bool Arageli::operator!= (const big_int &a, const big_int &b)
bool Arageli::operator< (const big_int &a, const big_int &b)
bool Arageli::operator> (const big_int &a, const big_int &b)
bool Arageli::operator<= (const big_int &a, const big_int &b)
bool Arageli::operator>= (const big_int &a, const big_int &b)

Computed assignment operators.

big_int & Arageli::operator+= (big_int &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, const big_int &c)

Defines

#define _ARAGELI_big_int_CMP1(OPER)
#define _ARAGELI_big_int_COMBINED_OPER(OPER)
#define _ARAGELI_big_int_MIXED_AOPER1(NATIVE, AOPER)
#define _ARAGELI_big_int_MIXED_BOPER1(NATIVE, BOPER)
#define _ARAGELI_big_int_MIXED_COMARE1(NATIVE, BOPER)
#define _ARAGELI_big_int_MIXED_COMPARE3(NATIVE)
#define _ARAGELI_big_int_MIXED_INT_AOPER2(AOPER)
#define _ARAGELI_big_int_MIXED_INT_BOPER2(BOPER)
#define _ARAGELI_big_int_MIXED_FLOAT_AOPER2(AOPER)
#define _ARAGELI_big_int_MIXED_FLOAT_BOPER2(BOPER)
#define ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_BIG_INT

Functions

void Arageli::_Internal::xdivide (big_int &a, const big_int &b, const big_int &c, big_int &res)
std::size_t Arageli::nbits (const big_int &x)
 Returns the number of bits in number. The same as big_int::length.
std::ostream & Arageli::operator<< (std::ostream &s, const big_int &x)
 Reads a number from a string notation.
std::istream & Arageli::operator>> (std::istream &s, big_int &x)
 Writes a number to a string notation.
int Arageli::cmp (const big_int &a, const big_int &b)
 Compares two big integers.
template<typename TT>
int Arageli::sign (const big_int &x)
void Arageli::divide (const big_int &a, const big_int &b, big_int &q, big_int &r)
 Divizion with quotient and remainder.
big_int & Arageli::operator+= (big_int &b, char c)
char & Arageli::operator+= (char &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, signed char c)
signed char & Arageli::operator+= (signed char &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, unsigned char c)
unsigned char & Arageli::operator+= (unsigned char &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, signed short c)
signed short & Arageli::operator+= (signed short &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, unsigned short c)
unsigned short & Arageli::operator+= (unsigned short &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, signed int c)
signed int & Arageli::operator+= (signed int &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, unsigned int c)
unsigned int & Arageli::operator+= (unsigned int &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, signed long c)
signed long & Arageli::operator+= (signed long &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, unsigned long c)
unsigned long & Arageli::operator+= (unsigned long &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, bool c)
bool & Arageli::operator+= (bool &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, char c)
char & Arageli::operator-= (char &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, signed char c)
signed char & Arageli::operator-= (signed char &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, unsigned char c)
unsigned char & Arageli::operator-= (unsigned char &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, signed short c)
signed short & Arageli::operator-= (signed short &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, unsigned short c)
unsigned short & Arageli::operator-= (unsigned short &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, signed int c)
signed int & Arageli::operator-= (signed int &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, unsigned int c)
unsigned int & Arageli::operator-= (unsigned int &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, signed long c)
signed long & Arageli::operator-= (signed long &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, unsigned long c)
unsigned long & Arageli::operator-= (unsigned long &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, bool c)
bool & Arageli::operator-= (bool &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, char c)
char & Arageli::operator *= (char &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, signed char c)
signed char & Arageli::operator *= (signed char &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, unsigned char c)
unsigned char & Arageli::operator *= (unsigned char &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, signed short c)
signed short & Arageli::operator *= (signed short &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, unsigned short c)
unsigned short & Arageli::operator *= (unsigned short &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, signed int c)
signed int & Arageli::operator *= (signed int &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, unsigned int c)
unsigned int & Arageli::operator *= (unsigned int &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, signed long c)
signed long & Arageli::operator *= (signed long &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, unsigned long c)
unsigned long & Arageli::operator *= (unsigned long &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, bool c)
bool & Arageli::operator *= (bool &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, char c)
char & Arageli::operator/= (char &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, signed char c)
signed char & Arageli::operator/= (signed char &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, unsigned char c)
unsigned char & Arageli::operator/= (unsigned char &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, signed short c)
signed short & Arageli::operator/= (signed short &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, unsigned short c)
unsigned short & Arageli::operator/= (unsigned short &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, signed int c)
signed int & Arageli::operator/= (signed int &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, unsigned int c)
unsigned int & Arageli::operator/= (unsigned int &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, signed long c)
signed long & Arageli::operator/= (signed long &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, unsigned long c)
unsigned long & Arageli::operator/= (unsigned long &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, bool c)
bool & Arageli::operator/= (bool &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, float c)
float & Arageli::operator+= (float &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, double c)
double & Arageli::operator+= (double &b, const big_int &c)
big_int & Arageli::operator+= (big_int &b, long double c)
long double & Arageli::operator+= (long double &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, float c)
float & Arageli::operator-= (float &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, double c)
double & Arageli::operator-= (double &b, const big_int &c)
big_int & Arageli::operator-= (big_int &b, long double c)
long double & Arageli::operator-= (long double &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, float c)
float & Arageli::operator *= (float &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, double c)
double & Arageli::operator *= (double &b, const big_int &c)
big_int & Arageli::operator *= (big_int &b, long double c)
long double & Arageli::operator *= (long double &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, float c)
float & Arageli::operator/= (float &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, double c)
double & Arageli::operator/= (double &b, const big_int &c)
big_int & Arageli::operator/= (big_int &b, long double c)
long double & Arageli::operator/= (long double &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, char c)
char & Arageli::operator%= (char &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, signed char c)
signed char & Arageli::operator%= (signed char &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, unsigned char c)
unsigned char & Arageli::operator%= (unsigned char &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, signed short c)
signed short & Arageli::operator%= (signed short &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, unsigned short c)
unsigned short & Arageli::operator%= (unsigned short &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, signed int c)
signed int & Arageli::operator%= (signed int &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, unsigned int c)
unsigned int & Arageli::operator%= (unsigned int &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, signed long c)
signed long & Arageli::operator%= (signed long &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, unsigned long c)
unsigned long & Arageli::operator%= (unsigned long &b, const big_int &c)
big_int & Arageli::operator%= (big_int &b, bool c)
bool & Arageli::operator%= (bool &b, const big_int &c)
big_int Arageli::operator+ (char b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, char c)
big_int Arageli::operator+ (signed char b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, signed char c)
big_int Arageli::operator+ (unsigned char b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, unsigned char c)
big_int Arageli::operator+ (signed short b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, signed short c)
big_int Arageli::operator+ (unsigned short b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, unsigned short c)
big_int Arageli::operator+ (signed int b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, signed int c)
big_int Arageli::operator+ (unsigned int b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, unsigned int c)
big_int Arageli::operator+ (signed long b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, signed long c)
big_int Arageli::operator+ (unsigned long b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, unsigned long c)
big_int Arageli::operator+ (bool b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, bool c)
big_int Arageli::operator- (char b, const big_int &c)
big_int Arageli::operator- (const big_int &b, char c)
big_int Arageli::operator- (signed char b, const big_int &c)
big_int Arageli::operator- (const big_int &b, signed char c)
big_int Arageli::operator- (unsigned char b, const big_int &c)
big_int Arageli::operator- (const big_int &b, unsigned char c)
big_int Arageli::operator- (signed short b, const big_int &c)
big_int Arageli::operator- (const big_int &b, signed short c)
big_int Arageli::operator- (unsigned short b, const big_int &c)
big_int Arageli::operator- (const big_int &b, unsigned short c)
big_int Arageli::operator- (signed int b, const big_int &c)
big_int Arageli::operator- (const big_int &b, signed int c)
big_int Arageli::operator- (unsigned int b, const big_int &c)
big_int Arageli::operator- (const big_int &b, unsigned int c)
big_int Arageli::operator- (signed long b, const big_int &c)
big_int Arageli::operator- (const big_int &b, signed long c)
big_int Arageli::operator- (unsigned long b, const big_int &c)
big_int Arageli::operator- (const big_int &b, unsigned long c)
big_int Arageli::operator- (bool b, const big_int &c)
big_int Arageli::operator- (const big_int &b, bool c)
big_int Arageli::operator * (char b, const big_int &c)
big_int Arageli::operator * (const big_int &b, char c)
big_int Arageli::operator * (signed char b, const big_int &c)
big_int Arageli::operator * (const big_int &b, signed char c)
big_int Arageli::operator * (unsigned char b, const big_int &c)
big_int Arageli::operator * (const big_int &b, unsigned char c)
big_int Arageli::operator * (signed short b, const big_int &c)
big_int Arageli::operator * (const big_int &b, signed short c)
big_int Arageli::operator * (unsigned short b, const big_int &c)
big_int Arageli::operator * (const big_int &b, unsigned short c)
big_int Arageli::operator * (signed int b, const big_int &c)
big_int Arageli::operator * (const big_int &b, signed int c)
big_int Arageli::operator * (unsigned int b, const big_int &c)
big_int Arageli::operator * (const big_int &b, unsigned int c)
big_int Arageli::operator * (signed long b, const big_int &c)
big_int Arageli::operator * (const big_int &b, signed long c)
big_int Arageli::operator * (unsigned long b, const big_int &c)
big_int Arageli::operator * (const big_int &b, unsigned long c)
big_int Arageli::operator * (bool b, const big_int &c)
big_int Arageli::operator * (const big_int &b, bool c)
big_int Arageli::operator/ (char b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, char c)
big_int Arageli::operator/ (signed char b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, signed char c)
big_int Arageli::operator/ (unsigned char b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, unsigned char c)
big_int Arageli::operator/ (signed short b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, signed short c)
big_int Arageli::operator/ (unsigned short b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, unsigned short c)
big_int Arageli::operator/ (signed int b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, signed int c)
big_int Arageli::operator/ (unsigned int b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, unsigned int c)
big_int Arageli::operator/ (signed long b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, signed long c)
big_int Arageli::operator/ (unsigned long b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, unsigned long c)
big_int Arageli::operator/ (bool b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, bool c)
big_int Arageli::operator+ (float b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, float c)
big_int Arageli::operator+ (double b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, double c)
big_int Arageli::operator+ (long double b, const big_int &c)
big_int Arageli::operator+ (const big_int &b, long double c)
big_int Arageli::operator- (float b, const big_int &c)
big_int Arageli::operator- (const big_int &b, float c)
big_int Arageli::operator- (double b, const big_int &c)
big_int Arageli::operator- (const big_int &b, double c)
big_int Arageli::operator- (long double b, const big_int &c)
big_int Arageli::operator- (const big_int &b, long double c)
big_int Arageli::operator * (float b, const big_int &c)
big_int Arageli::operator * (const big_int &b, float c)
big_int Arageli::operator * (double b, const big_int &c)
big_int Arageli::operator * (const big_int &b, double c)
big_int Arageli::operator * (long double b, const big_int &c)
big_int Arageli::operator * (const big_int &b, long double c)
big_int Arageli::operator/ (float b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, float c)
big_int Arageli::operator/ (double b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, double c)
big_int Arageli::operator/ (long double b, const big_int &c)
big_int Arageli::operator/ (const big_int &b, long double c)
big_int Arageli::operator% (char b, const big_int &c)
big_int Arageli::operator% (const big_int &b, char c)
big_int Arageli::operator% (signed char b, const big_int &c)
big_int Arageli::operator% (const big_int &b, signed char c)
big_int Arageli::operator% (unsigned char b, const big_int &c)
big_int Arageli::operator% (const big_int &b, unsigned char c)
big_int Arageli::operator% (signed short b, const big_int &c)
big_int Arageli::operator% (const big_int &b, signed short c)
big_int Arageli::operator% (unsigned short b, const big_int &c)
big_int Arageli::operator% (const big_int &b, unsigned short c)
big_int Arageli::operator% (signed int b, const big_int &c)
big_int Arageli::operator% (const big_int &b, signed int c)
big_int Arageli::operator% (unsigned int b, const big_int &c)
big_int Arageli::operator% (const big_int &b, unsigned int c)
big_int Arageli::operator% (signed long b, const big_int &c)
big_int Arageli::operator% (const big_int &b, signed long c)
big_int Arageli::operator% (unsigned long b, const big_int &c)
big_int Arageli::operator% (const big_int &b, unsigned long c)
big_int Arageli::operator% (bool b, const big_int &c)
big_int Arageli::operator% (const big_int &b, bool c)
bool Arageli::operator== (char b, const big_int &c)
bool Arageli::operator== (const big_int &b, char c)
bool Arageli::operator!= (char b, const big_int &c)
bool Arageli::operator!= (const big_int &b, char c)
bool Arageli::operator<= (char b, const big_int &c)
bool Arageli::operator<= (const big_int &b, char c)
bool Arageli::operator>= (char b, const big_int &c)
bool Arageli::operator>= (const big_int &b, char c)
bool Arageli::operator< (char b, const big_int &c)
bool Arageli::operator< (const big_int &b, char c)
bool Arageli::operator> (char b, const big_int &c)
bool Arageli::operator> (const big_int &b, char c)
bool Arageli::operator== (signed char b, const big_int &c)
bool Arageli::operator== (const big_int &b, signed char c)
bool Arageli::operator!= (signed char b, const big_int &c)
bool Arageli::operator!= (const big_int &b, signed char c)
bool Arageli::operator<= (signed char b, const big_int &c)
bool Arageli::operator<= (const big_int &b, signed char c)
bool Arageli::operator>= (signed char b, const big_int &c)
bool Arageli::operator>= (const big_int &b, signed char c)
bool Arageli::operator< (signed char b, const big_int &c)
bool Arageli::operator< (const big_int &b, signed char c)
bool Arageli::operator> (signed char b, const big_int &c)
bool Arageli::operator> (const big_int &b, signed char c)
bool Arageli::operator== (unsigned char b, const big_int &c)
bool Arageli::operator== (const big_int &b, unsigned char c)
bool Arageli::operator!= (unsigned char b, const big_int &c)
bool Arageli::operator!= (const big_int &b, unsigned char c)
bool Arageli::operator<= (unsigned char b, const big_int &c)
bool Arageli::operator<= (const big_int &b, unsigned char c)
bool Arageli::operator>= (unsigned char b, const big_int &c)
bool Arageli::operator>= (const big_int &b, unsigned char c)
bool Arageli::operator< (unsigned char b, const big_int &c)
bool Arageli::operator< (const big_int &b, unsigned char c)
bool Arageli::operator> (unsigned char b, const big_int &c)
bool Arageli::operator> (const big_int &b, unsigned char c)
bool Arageli::operator== (signed short b, const big_int &c)
bool Arageli::operator== (const big_int &b, signed short c)
bool Arageli::operator!= (signed short b, const big_int &c)
bool Arageli::operator!= (const big_int &b, signed short c)
bool Arageli::operator<= (signed short b, const big_int &c)
bool Arageli::operator<= (const big_int &b, signed short c)
bool Arageli::operator>= (signed short b, const big_int &c)
bool Arageli::operator>= (const big_int &b, signed short c)
bool Arageli::operator< (signed short b, const big_int &c)
bool Arageli::operator< (const big_int &b, signed short c)
bool Arageli::operator> (signed short b, const big_int &c)
bool Arageli::operator> (const big_int &b, signed short c)
bool Arageli::operator== (unsigned short b, const big_int &c)
bool Arageli::operator== (const big_int &b, unsigned short c)
bool Arageli::operator!= (unsigned short b, const big_int &c)
bool Arageli::operator!= (const big_int &b, unsigned short c)
bool Arageli::operator<= (unsigned short b, const big_int &c)
bool Arageli::operator<= (const big_int &b, unsigned short c)
bool Arageli::operator>= (unsigned short b, const big_int &c)
bool Arageli::operator>= (const big_int &b, unsigned short c)
bool Arageli::operator< (unsigned short b, const big_int &c)
bool Arageli::operator< (const big_int &b, unsigned short c)
bool Arageli::operator> (unsigned short b, const big_int &c)
bool Arageli::operator> (const big_int &b, unsigned short c)
bool Arageli::operator== (signed int b, const big_int &c)
bool Arageli::operator== (const big_int &b, signed int c)
bool Arageli::operator!= (signed int b, const big_int &c)
bool Arageli::operator!= (const big_int &b, signed int c)
bool Arageli::operator<= (signed int b, const big_int &c)
bool Arageli::operator<= (const big_int &b, signed int c)
bool Arageli::operator>= (signed int b, const big_int &c)
bool Arageli::operator>= (const big_int &b, signed int c)
bool Arageli::operator< (signed int b, const big_int &c)
bool Arageli::operator< (const big_int &b, signed int c)
bool Arageli::operator> (signed int b, const big_int &c)
bool Arageli::operator> (const big_int &b, signed int c)
bool Arageli::operator== (unsigned int b, const big_int &c)
bool Arageli::operator== (const big_int &b, unsigned int c)
bool Arageli::operator!= (unsigned int b, const big_int &c)
bool Arageli::operator!= (const big_int &b, unsigned int c)
bool Arageli::operator<= (unsigned int b, const big_int &c)
bool Arageli::operator<= (const big_int &b, unsigned int c)
bool Arageli::operator>= (unsigned int b, const big_int &c)
bool Arageli::operator>= (const big_int &b, unsigned int c)
bool Arageli::operator< (unsigned int b, const big_int &c)
bool Arageli::operator< (const big_int &b, unsigned int c)
bool Arageli::operator> (unsigned int b, const big_int &c)
bool Arageli::operator> (const big_int &b, unsigned int c)
bool Arageli::operator== (signed long b, const big_int &c)
bool Arageli::operator== (const big_int &b, signed long c)
bool Arageli::operator!= (signed long b, const big_int &c)
bool Arageli::operator!= (const big_int &b, signed long c)
bool Arageli::operator<= (signed long b, const big_int &c)
bool Arageli::operator<= (const big_int &b, signed long c)
bool Arageli::operator>= (signed long b, const big_int &c)
bool Arageli::operator>= (const big_int &b, signed long c)
bool Arageli::operator< (signed long b, const big_int &c)
bool Arageli::operator< (const big_int &b, signed long c)
bool Arageli::operator> (signed long b, const big_int &c)
bool Arageli::operator> (const big_int &b, signed long c)
bool Arageli::operator== (unsigned long b, const big_int &c)
bool Arageli::operator== (const big_int &b, unsigned long c)
bool Arageli::operator!= (unsigned long b, const big_int &c)
bool Arageli::operator!= (const big_int &b, unsigned long c)
bool Arageli::operator<= (unsigned long b, const big_int &c)
bool Arageli::operator<= (const big_int &b, unsigned long c)
bool Arageli::operator>= (unsigned long b, const big_int &c)
bool Arageli::operator>= (const big_int &b, unsigned long c)
bool Arageli::operator< (unsigned long b, const big_int &c)
bool Arageli::operator< (const big_int &b, unsigned long c)
bool Arageli::operator> (unsigned long b, const big_int &c)
bool Arageli::operator> (const big_int &b, unsigned long c)
bool Arageli::operator== (bool b, const big_int &c)
bool Arageli::operator== (const big_int &b, bool c)
bool Arageli::operator!= (bool b, const big_int &c)
bool Arageli::operator!= (const big_int &b, bool c)
bool Arageli::operator<= (bool b, const big_int &c)
bool Arageli::operator<= (const big_int &b, bool c)
bool Arageli::operator>= (bool b, const big_int &c)
bool Arageli::operator>= (const big_int &b, bool c)
bool Arageli::operator< (bool b, const big_int &c)
bool Arageli::operator< (const big_int &b, bool c)
bool Arageli::operator> (bool b, const big_int &c)
bool Arageli::operator> (const big_int &b, bool c)
bool Arageli::operator== (float b, const big_int &c)
bool Arageli::operator== (const big_int &b, float c)
bool Arageli::operator!= (float b, const big_int &c)
bool Arageli::operator!= (const big_int &b, float c)
bool Arageli::operator<= (float b, const big_int &c)
bool Arageli::operator<= (const big_int &b, float c)
bool Arageli::operator>= (float b, const big_int &c)
bool Arageli::operator>= (const big_int &b, float c)
bool Arageli::operator< (float b, const big_int &c)
bool Arageli::operator< (const big_int &b, float c)
bool Arageli::operator> (float b, const big_int &c)
bool Arageli::operator> (const big_int &b, float c)
bool Arageli::operator== (double b, const big_int &c)
bool Arageli::operator== (const big_int &b, double c)
bool Arageli::operator!= (double b, const big_int &c)
bool Arageli::operator!= (const big_int &b, double c)
bool Arageli::operator<= (double b, const big_int &c)
bool Arageli::operator<= (const big_int &b, double c)
bool Arageli::operator>= (double b, const big_int &c)
bool Arageli::operator>= (const big_int &b, double c)
bool Arageli::operator< (double b, const big_int &c)
bool Arageli::operator< (const big_int &b, double c)
bool Arageli::operator> (double b, const big_int &c)
bool Arageli::operator> (const big_int &b, double c)
bool Arageli::operator== (long double b, const big_int &c)
bool Arageli::operator== (const big_int &b, long double c)
bool Arageli::operator!= (long double b, const big_int &c)
bool Arageli::operator!= (const big_int &b, long double c)
bool Arageli::operator<= (long double b, const big_int &c)
bool Arageli::operator<= (const big_int &b, long double c)
bool Arageli::operator>= (long double b, const big_int &c)
bool Arageli::operator>= (const big_int &b, long double c)
bool Arageli::operator< (long double b, const big_int &c)
bool Arageli::operator< (const big_int &b, long double c)
bool Arageli::operator> (long double b, const big_int &c)
bool Arageli::operator> (const big_int &b, long double c)
bool Arageli::is_null (const big_int &x)
bool Arageli::is_unit (const big_int &x)
bool Arageli::is_opposite_unit (const big_int &x)
bool Arageli::is_positive (const big_int &x)
bool Arageli::is_negative (const big_int &x)
bool Arageli::is_even (const big_int &x)
bool Arageli::is_odd (const big_int &x)
template<typename T>
Arageli::intsqrt (const T &a)
 Integer square root of a.
big_int Arageli::sqrt (const big_int &a)
big_int Arageli::abs (const big_int &x)
 Returns absolutly value of x.
big_int Arageli::pow (const big_int &x, int p)
 Raise x in to a power p.
big_int Arageli::pow (const big_int &x, const big_int &p)
 Raise x in to a power p.
big_int Arageli::log2 (const big_int &x)
 Returns the base-2 logarithm of abs(x). If x == 0, returns -1.
Arageli::big_int std::sqrt (const Arageli::big_int &a)
Arageli::big_int std::abs (const Arageli::big_int &x)
 Returns absolutly value of x.
Arageli::big_int std::pow (const Arageli::big_int &x, int p)
 Raise x to a power p.
Arageli::big_int std::pow (const Arageli::big_int &x, const Arageli::big_int &p)
 Raise x to a power p.
void std::swap (Arageli::big_int &a, Arageli::big_int &b)
 Swaps two numbers without actually copying.


Detailed Description

Big Integer Numbers implementation.

This module implements a class big_int for representing Big Integer Numbers, i.e. `arbitrary precision' integers. Implements some common library and standard C++ functions specialization and reloaded versions.

Definition in file big_int.hpp.


Define Documentation

#define _ARAGELI_big_int_CMP1 ( OPER   ) 

Value:

inline bool operator OPER (const big_int& a, const big_int& b)  \
{ return cmp(a, b) OPER 0; }

Definition at line 564 of file big_int.hpp.

#define _ARAGELI_big_int_COMBINED_OPER ( OPER   ) 

Value:

inline big_int& operator OPER##= (big_int& b, const big_int& c) \
    { return b = b OPER c; }

Definition at line 587 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_AOPER1 ( NATIVE,
AOPER   ) 

Value:

inline big_int& operator AOPER (big_int& b, NATIVE c)       \
    { return b AOPER big_int(c); }                              \
                                                                \
    inline NATIVE& operator AOPER (NATIVE& b, const big_int& c) \
    { return b AOPER (NATIVE)c; }

Definition at line 604 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_BOPER1 ( NATIVE,
BOPER   ) 

Value:

inline big_int operator BOPER (NATIVE b, const big_int& c)  \
    { return big_int(b) BOPER c; }                              \
                                                                \
    inline big_int operator BOPER (const big_int& b, NATIVE c)  \
    { return b BOPER big_int(c); }

Definition at line 611 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_COMARE1 ( NATIVE,
BOPER   ) 

Value:

inline bool operator BOPER (NATIVE b, const big_int& c)     \
    { return big_int(b) BOPER c; }                              \
                                                                \
    inline bool operator BOPER (const big_int& b, NATIVE c)     \
    { return b BOPER big_int(c); }

Definition at line 619 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_COMPARE3 ( NATIVE   ) 

Value:

Definition at line 627 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_FLOAT_AOPER2 ( AOPER   ) 

Value:

Definition at line 694 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_FLOAT_BOPER2 ( BOPER   ) 

Value:

Definition at line 699 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_INT_AOPER2 ( AOPER   ) 

Value:

_ARAGELI_big_int_MIXED_AOPER1(char, AOPER)                  \
    _ARAGELI_big_int_MIXED_AOPER1(signed char, AOPER)           \
    _ARAGELI_big_int_MIXED_AOPER1(unsigned char, AOPER)         \
    _ARAGELI_big_int_MIXED_AOPER1(signed short, AOPER)          \
    _ARAGELI_big_int_MIXED_AOPER1(unsigned short, AOPER)        \
    _ARAGELI_big_int_MIXED_AOPER1(signed int, AOPER)            \
    _ARAGELI_big_int_MIXED_AOPER1(unsigned int, AOPER)          \
    _ARAGELI_big_int_MIXED_AOPER1(signed long, AOPER)           \
    _ARAGELI_big_int_MIXED_AOPER1(unsigned long, AOPER)         \
    _ARAGELI_big_int_MIXED_AOPER1(bool, AOPER)

Definition at line 668 of file big_int.hpp.

#define _ARAGELI_big_int_MIXED_INT_BOPER2 ( BOPER   ) 

Value:

_ARAGELI_big_int_MIXED_BOPER1(char, BOPER)                  \
    _ARAGELI_big_int_MIXED_BOPER1(signed char, BOPER)           \
    _ARAGELI_big_int_MIXED_BOPER1(unsigned char, BOPER)         \
    _ARAGELI_big_int_MIXED_BOPER1(signed short, BOPER)          \
    _ARAGELI_big_int_MIXED_BOPER1(unsigned short, BOPER)        \
    _ARAGELI_big_int_MIXED_BOPER1(signed int, BOPER)            \
    _ARAGELI_big_int_MIXED_BOPER1(unsigned int, BOPER)          \
    _ARAGELI_big_int_MIXED_BOPER1(signed long, BOPER)           \
    _ARAGELI_big_int_MIXED_BOPER1(unsigned long, BOPER)         \
    _ARAGELI_big_int_MIXED_BOPER1(bool, BOPER)

Definition at line 680 of file big_int.hpp.

#define ARAGELI_INCLUDE_CPP_WITH_EXPORT_TEMPLATE_BIG_INT

Definition at line 968 of file big_int.hpp.


Generated on Thu Aug 31 17:38:17 2006 for Arageli by  doxygen 1.4.7