#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> | |
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. |
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 _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:
_ARAGELI_big_int_MIXED_COMARE1(NATIVE, ==) \ _ARAGELI_big_int_MIXED_COMARE1(NATIVE, !=) \ _ARAGELI_big_int_MIXED_COMARE1(NATIVE, <=) \ _ARAGELI_big_int_MIXED_COMARE1(NATIVE, >=) \ _ARAGELI_big_int_MIXED_COMARE1(NATIVE, <) \ _ARAGELI_big_int_MIXED_COMARE1(NATIVE, >)
Definition at line 627 of file big_int.hpp.
#define _ARAGELI_big_int_MIXED_FLOAT_AOPER2 | ( | AOPER | ) |
Value:
_ARAGELI_big_int_MIXED_AOPER1(float, AOPER) \ _ARAGELI_big_int_MIXED_AOPER1(double, AOPER) \ _ARAGELI_big_int_MIXED_AOPER1(long double, AOPER)
Definition at line 694 of file big_int.hpp.
#define _ARAGELI_big_int_MIXED_FLOAT_BOPER2 | ( | BOPER | ) |
Value:
_ARAGELI_big_int_MIXED_BOPER1(float, BOPER) \ _ARAGELI_big_int_MIXED_BOPER1(double, BOPER) \ _ARAGELI_big_int_MIXED_BOPER1(long double, BOPER)
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.