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

Type aliases and the (currently disabled) C++20 concept that streaming polynomial consumers implement. More...

Go to the source code of this file.

Namespaces

namespace  newf4

Typedefs

using newf4::Coefficient = int32_t
using newf4::VarIndex = int32_t
using newf4::Exponent = int32_t
using newf4::Component = int32_t

Detailed Description

Type aliases and the (currently disabled) C++20 concept that streaming polynomial consumers implement.

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

Declares newf4::Coefficient, VarIndex, Exponent, and Component — the int32_t aliases that name the four pieces of every streamed term and that callers throughout the refactored F4 path share with gb-f4/MonomialTypes.hpp. The in-source TODO requires these aliases to stay in lockstep with BasicPoly.

The remainder of the header sketches the streaming protocol any concrete consumer must support: idealBegin / appendPolynomialBegin / appendTermBegin / appendExponent / appendTermDone / appendPolynomialDone / idealDone. The actual concept PolynomialStream is parked under #if 0 pending the engine's move to C++20; in the meantime consumers such as BasicPolyList and the gb-f4 PolynomialList builder implement the shape unchecked, and BasicPolyListParser is the natural producer end.

See also
BasicPoly.hpp
BasicPolyList.hpp
BasicPolyListParser.hpp

Definition in file PolynomialStream.hpp.