76{
77
78
79
80
82 EXPECT_TRUE(kk != nullptr);
83
84
85 std::vector<std::string> varnames { "a", "b", "c", "d" };
86 std::vector<int> degs {1,1,1,1};
87 std::vector<int> heft {1};
88
91 mo,
93 varnames,
94 degs,
95 heft
96 );
97 EXPECT_TRUE(M != nullptr);
98
100
101 EXPECT_TRUE(R != nullptr);
104 std::cout <<
"ring is " << o.
str() << std::endl;
105}
static Monoid * create(const MonomialOrdering *mo, const PolynomialRing *DR, const std::vector< std::string > &names, const std::vector< int > °s, const std::vector< int > &hefts)
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
static const PolyRing * create(const Ring *K, const Monoid *M)
virtual void text_out(buffer &o) const =0
const Ring * rawARingZZpFlint(unsigned long p)
MonomialOrdering * rawGRevLexMonomialOrdering(M2_arrayint degs, int packing)
Front-end-side description of a monomial ordering as a list of mon_part blocks.
const PolynomialRing * degreeRing(const std::vector< std::string > &names)
M2_arrayint stdvector_to_M2_arrayint(const std::vector< T > &v)