179{
180 try
181 {
183 if (P == nullptr)
184 {
185 ERROR(
"expected a polynomial ring");
186 return nullptr;
187 }
190 diff_vars,
191 comm_vars,
192 homog_var);
196 {
198 return nullptr;
199 }
200}
virtual const Monoid * getMonoid() const
virtual const Ring * getCoefficients() const
Abstract base for the engine's polynomial-ring hierarchy.
virtual const PolynomialRing * cast_to_PolynomialRing() const
static WeylAlgebra * create(const Ring *K, const Monoid *M, M2_arrayint derivs, M2_arrayint comms, int homog_var)
PolyRing subclass for Weyl algebras: polynomial rings with the [d_i, x_i] = 1 derivative-variable com...
void intern_polyring(const PolynomialRing *G)
VALGRIND_MAKE_MEM_DEFINED & result(result)