|
Macaulay2 Engine
|
Typed integer vocabulary for namespace newf4 (indices, monomial words, hashes, masks). More...
#include <cstdint>Go to the source code of this file.
Namespaces | |
| namespace | newf4 |
Typedefs | |
| using | newf4::Index = int32_t |
| using | newf4::MonomialIndex = int32_t |
| using | newf4::MonomialInt = int32_t |
| using | newf4::ComponentIndex = int32_t |
| using | newf4::HashInt = uint64_t |
| using | newf4::MonomialMask = uint64_t |
Typed integer vocabulary for namespace newf4 (indices, monomial words, hashes, masks).
Declares the strongly-named integer aliases the rest of gb-f4/ uses in place of bare int: Index numbers GB basis elements; MonomialIndex keys into the MonomialHashTable with 0 reserved as the "undefined" sentinel; MonomialInt is one word of the encoded monomial stream and also the type used for cached degrees; ComponentIndex numbers free-module components; HashInt is the 64-bit hash returned by MonomialHashFunction; and MonomialMask is the 64-bit bitset MonomialLookupTable uses for cheap divisibility pre-tests.
All six aliases compile to int32_t or uint64_t, but the distinct C++ names let the compiler reject calls that mix a MonomialIndex with an Index — bugs that would silently misbehave with raw ints. Every other header in gb-f4/ ultimately includes this one.
Definition in file MonomialTypes.hpp.