Macaulay2 Engine
Loading...
Searching...
No Matches
PolyRingTest.cpp File Reference

gtest coverage for MonomialOrdering, Monoid, and PolynomialRing construction. More...

#include <vector>
#include <iostream>
#include <memory>
#include <gtest/gtest.h>
#include "../error.h"
#include "../buffer.hpp"
#include "../util.hpp"
#include "../ring.hpp"
#include "../polyring.hpp"
#include "../interface/monomial-ordering.h"
#include "../interface/monoid.h"
#include "../interface/ring.h"
#include "../interface/aring.h"
#include "util-polyring-creation.hpp"

Go to the source code of this file.

Functions

 TEST (PolyRing, createDegreesRing)
 TEST (PolyRing, createDegreesRing2)
 TEST (PolyRing, create1)
 TEST (PolyRing, createSimple)

Detailed Description

gtest coverage for MonomialOrdering, Monoid, and PolynomialRing construction.

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

Hosts the TEST(PolyRing, *) battery (createDegreesRing, createDegreesRing2, create1, createSimple) that walks the polynomial-ring stack from the bottom up: build a degree monoid via degreeRing(n) or degreeRing({"t1", "t2"}) from util-polyring-creation.hpp, assemble a MonomialOrdering out of the engine's raw*MonomialOrdering factories, hand it to Monoid::create, and finally construct a PolynomialRing over a chosen coefficient ring. Each step is checked against error() so any failure in the construction chain surfaces with the user-facing engine error message rather than a cryptic null pointer.

Sibling files DMatZZpTest.cpp and MatrixIOTest.cpp (covered by the same file-dmat-matrix-tests markdown) exercise the dense-matrix and I/O surfaces that ride on top of these rings. The stale --gtest_filter="*F4*" recipe at the top of the file is copy-pasted from NewF4Test.cpp; it does not match the PolyRing suite names here.

See also
util-polyring-creation.hpp
polyring.hpp
interface/monomial-ordering.h
interface/monoid.h
NewF4Test.cpp

Definition in file PolyRingTest.cpp.