Regina Calculation Engine
|
Miscellaneous utility classes for analysing the built-in integer types at compile time. More...
Classes | |
class | regina::IntegerBase< supportInfinity > |
Represents an arbitrary precision integer. More... | |
class | regina::NativeInteger< bytes > |
A wrapper class for a native, fixed-precision integer type of the given size. More... | |
struct | regina::IsReginaInteger< T > |
Determines if the type T is one of Regina's own integer types. More... | |
struct | regina::IntOfSize< bytes > |
Gives access to native integer types that hold exactly k bytes, where k may be any compile-time constant. More... | |
struct | regina::IntOfMinSize< bytes > |
Gives access to native integer types that hold at least k bytes, where k may be any compile-time constant. More... | |
Namespaces | |
regina | |
Contains the entire Regina calculation engine. | |
Macros | |
#define | INT128_AVAILABLE |
Defined if and only if native 128-bit arithmetic is available on this platform. More... | |
Functions | |
template<typename IntType > | |
constexpr int | regina::bitsRequired (IntType n) |
Returns the number of bits required to store integers in the range 0,...,n-1. More... | |
template<typename IntType > | |
constexpr IntType | regina::nextPowerOfTwo (IntType n) |
Returns the smallest integer power of two that is greater than or equal to the given argument n. More... | |
Miscellaneous utility classes for analysing the built-in integer types at compile time.
#define INT128_AVAILABLE |
Defined if and only if native 128-bit arithmetic is available on this platform.
If this macro is defined, then you can access native signed and unsigned 128-bit integers through the types IntOfSize<16>::type and IntOfSize<16>::utype respectively.
If this macro is not defined, then the types IntOfSize<16>::type and IntOfSize<16>::utype will both be void
.