229{
230 try {
231 if (coefficientRing == nullptr)
232 {
233 ERROR(
"internal error: expected non-null Ring!");
234 return nullptr;
235 }
237 if (P == nullptr)
238 {
239 ERROR(
"expected polynomial ring");
240 return nullptr;
241 }
244 P,
248
250 }
253 return nullptr;
254 }
255}
static M2FreeAlgebra * create(const Ring *K, const std::vector< std::string > &names, const PolynomialRing *degreeRing, const std::vector< int > °rees, const std::vector< int > &wtvecs, const std::vector< int > &heftVector)
Concrete Ring wrapper around an owned FreeAlgebra (no quotient).
Abstract base for the engine's polynomial-ring hierarchy.
VALGRIND_MAKE_MEM_DEFINED & result(result)
const PolynomialRing * degreeRing(const std::vector< std::string > &names)
void M2_ArrayString_to_stdvector(M2_ArrayString strs, std::vector< std::string > &result)
std::vector< T > M2_arrayint_to_stdvector(M2_arrayint arr)