Macaulay2 Engine
Loading...
Searching...
No Matches
MonomialTypes.hpp File Reference

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

Detailed Description

Typed integer vocabulary for namespace newf4 (indices, monomial words, hashes, masks).

Note
AI-generated documentation. Verify against the source before relying on it.

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.

See also
MonomialHashTable.hpp
MonomialLookupTable.hpp
MonomialView.hpp
PolynomialList.hpp

Definition in file MonomialTypes.hpp.