Provides arbitrary-precision and fixed-precision integer types.
More...
#include <climits>
#include <cstdint>
#include <cstddef>
#include <tuple>
#include <gmp.h>
#include "regina-core.h"
#include "utilities/exception.h"
#include "utilities/intutils.h"
#include "utilities/tightencoding.h"
|
namespace | regina |
| Contains the entire Regina calculation engine.
|
|
namespace | regina::detail |
| Contains implementation details and common functionality for Regina's dimension-agnostic classes.
|
|
|
#define | mpz_cmp_si_cpp(z, si) |
| An internal copy of the GMP signed comparison optimisations.
|
|
|
mpz_ptr | regina::detail::mpz_from_ll (long long value) |
| Returns a raw GMP integer holding the given value.
|
|
mpz_ptr | regina::detail::mpz_from_ull (unsigned long long value) |
| Returns a raw GMP integer holding the given value.
|
|
template<bool supportInfinity> |
void | regina::swap (IntegerBase< supportInfinity > &a, IntegerBase< supportInfinity > &b) noexcept |
| Swaps the contents of the given integers.
|
|
template<bool supportInfinity> |
std::ostream & | regina::operator<< (std::ostream &out, const IntegerBase< supportInfinity > &i) |
| Writes the given integer to the given output stream.
|
|
template<bool supportInfinity> |
IntegerBase< supportInfinity > | regina::operator+ (long lhs, const IntegerBase< supportInfinity > &rhs) |
| Adds the given native integer to the given large integer.
|
|
template<bool supportInfinity> |
IntegerBase< supportInfinity > | regina::operator* (long lhs, const IntegerBase< supportInfinity > &rhs) |
| Multiplies the given native integer with the given large integer.
|
|
template<bool supportInfinity> |
void | regina::tightEncode (std::ostream &out, IntegerBase< supportInfinity > value) |
| Writes the tight encoding of the given arbitrary precision integer to the given output stream.
|
|
template<bool supportInfinity> |
std::string | regina::tightEncoding (IntegerBase< supportInfinity > value) |
| Returns the tight encoding of the given arbitrary precision integer.
|
|
template<int bytes> |
void | regina::swap (NativeInteger< bytes > &a, NativeInteger< bytes > &b) noexcept |
| Swaps the contents of the given integers.
|
|
template<int bytes> |
std::ostream & | regina::operator<< (std::ostream &out, const NativeInteger< bytes > &i) |
| Writes the given integer to the given output stream.
|
|
Provides arbitrary-precision and fixed-precision integer types.
Copyright © 1999-2025, The Regina development team
This software is released under the GNU General Public License,
with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact
Ben Burton (
bab@maths.uq.edu.au).