Regina Calculation Engine
|
Deals with arbitrary precision integers. More...
Classes | |
class | regina::NLargeInteger |
Represents an arbitrary precision integer. More... | |
Namespaces | |
regina | |
Contains the entire Regina calculation engine. | |
Constant Groups | |
regina | |
Contains the entire Regina calculation engine. | |
Macros | |
#define | mpz_cmp_si_cpp(z, si) |
An internal copy of the GMP signed comparison optimisations. More... | |
Functions | |
REGINA_API std::ostream & | regina::operator<< (std::ostream &out, const NLargeInteger &large) |
Writes the given integer to the given output stream. More... | |
REGINA_API NLargeInteger | regina::operator+ (long lhs, const NLargeInteger &rhs) |
Adds the given native integer to the given large integer. More... | |
REGINA_API NLargeInteger | regina::operator* (long lhs, const NLargeInteger &rhs) |
Multiplies the given native integer with the given large integer. More... | |
Deals with arbitrary precision integers.
#define mpz_cmp_si_cpp | ( | z, | |
si | |||
) |
An internal copy of the GMP signed comparison optimisations.
This macro should not be used outside this class.
By making our own copy of such optimisation macros we can use C++-style casts instead of C-style casts and avoid noisy compiler warnings. I'd love a better way of doing this.