1006{
1008 if (R == nullptr)
1009 {
1010 ERROR(
"internal error: expected non-null Ring!");
1011 return nullptr;
1012 }
1013 try {
1015 if (A != nullptr)
1016 {
1018
1019
1020
1021
1022
1028 limit,
1030 if (not worked) return nullptr;
1032 }
1033 ERROR(
"expected a free algebra");
1034 return nullptr;
1035 }
1038 return nullptr;
1039 }
1040}
gc_vector< const Poly * > ConstPolyList
gc_vector< Poly * > PolyList
const FreeAlgebra & freeAlgebra() const
Concrete Ring wrapper around an owned FreeAlgebra (no quotient).
const Ring * get_ring() const
virtual const M2FreeAlgebra * cast_to_M2FreeAlgebra() const
ConstPolyList matrixToPolyList(const M2FreeAlgebraOrQuotient *A, const Matrix *input)
const Matrix * polyListToMatrix(const M2FreeAlgebraOrQuotient *A, const PolyL &elems, int numrows, int numcols)
bool ncBasis(const FreeAlgebra &A, const ConstPolyList &gb, const std::vector< int > &lo_degree, const std::vector< int > &hi_degree, int limit, PolyList &result)
VALGRIND_MAKE_MEM_DEFINED & result(result)
std::vector< T > M2_arrayint_to_stdvector(M2_arrayint arr)