Macaulay2 Engine
Loading...
Searching...
No Matches

◆ create()

Monoid * Monoid::create ( const MonomialOrdering * mo,
const PolynomialRing * DR,
const std::vector< std::string > & names,
const std::vector< int > & degs,
const std::vector< int > & hefts )
static

Definition at line 61 of file monoid.cpp.

66{
67 unsigned int nvars = rawNumberOfVariables(mo);
68 unsigned int degrk = deg_ring->n_vars();
69 if (degs.size() != nvars * degrk)
70 {
71 ERROR("degree list should be of length %d", nvars * degrk);
72 return nullptr;
73 }
74 if (names.size() != nvars)
75 {
76 ERROR("expected %d variable names", nvars);
77 return nullptr;
78 }
79
80 return new Monoid(mo, deg_ring, names, degs, hefts);
81}
Monoid()
constructors
Definition monoid.cpp:30
const int ERROR
Definition m2-mem.cpp:55
int rawNumberOfVariables(const MonomialOrdering *mo)

References ERROR, Monoid(), PolynomialRing::n_vars(), and rawNumberOfVariables().

Referenced by degreeMonoid(), rawMonoid(), simplePolynomialRing(), and TEST().