Regina Calculation Engine
Classes | Namespaces | Macros | Functions
nlargeinteger.h File Reference

Deals with arbitrary precision integers. More...

#include <gmp.h>
#include <iostream>
#include <string>
#include "regina-core.h"

Classes

class  regina::NLargeInteger
 Represents an arbitrary precision integer. More...
 

Namespaces

namespace  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...
 

Detailed Description

Deals with arbitrary precision integers.

Macro Definition Documentation

#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.


Copyright © 1999-2012, The Regina development team
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).