@@ -548,8 +548,8 @@ writeInMatrix (CFMatrix& M, const CFArray& A, const int column,
548548 const int startIndex
549549 )
550550{
551- ASSERT (A.size () - startIndex > 0 , " wrong starting index" );
552- ASSERT (A.size () - startIndex = = M.rows (), " wrong starting index" );
551+ ASSERT (A.size () - startIndex >= 0 , " wrong starting index" );
552+ ASSERT (A.size () - startIndex < = M.rows (), " wrong starting index" );
553553 ASSERT (column > 0 && column <= M.columns (), " wrong column" );
554554 if (A.size () - startIndex <= 0 ) return ;
555555 int j= 1 ;
@@ -559,7 +559,7 @@ writeInMatrix (CFMatrix& M, const CFArray& A, const int column,
559559
560560CFArray getCoeffs (const CanonicalForm& F, const int k)
561561{
562- ASSERT (F.isUnivariate (), " univariate input expected" );
562+ ASSERT (F.isUnivariate () || F. inCoeffDomain () , " univariate input expected" );
563563 if (degree (F, 2 ) < k)
564564 return CFArray ();
565565
@@ -582,7 +582,7 @@ CFArray getCoeffs (const CanonicalForm& F, const int k)
582582
583583CFArray getCoeffs (const CanonicalForm& F, const int k, const Variable& alpha)
584584{
585- ASSERT (F.isUnivariate (), " univariate input expected" );
585+ ASSERT (F.isUnivariate () || F. inCoeffDomain () , " univariate input expected" );
586586 if (degree (F, 2 ) < k)
587587 return CFArray ();
588588
@@ -625,7 +625,7 @@ getCoeffs (const CanonicalForm& G, const int k, const int l, const int degMipo,
625625 const Variable& alpha, const CanonicalForm& evaluation,
626626 const mat_zz_p& M)
627627{
628- ASSERT (G.isUnivariate (), " univariate input expected" );
628+ ASSERT (G.isUnivariate () || G. inCoeffDomain () , " univariate input expected" );
629629 CanonicalForm F= G (G.mvar () - evaluation, G.mvar ());
630630 if (F.isZero ())
631631 return CFArray ();
0 commit comments