2627 if (syzterm !=
NULL)
2653 const BOOLEAN to_check = (syz_checker.IsNonempty());
2664 while( itr.MoveNext() )
2666 assume( itr.Current().CheckLT( L ) );
2668 const poly p = itr.Current().lt();
2669 const int k = itr.Current().label();
2680 if (syzterm !=
NULL && (k == c))
2686 Print(
"_FindReducer::Test SYZTERM: q == syzterm !:((, syzterm is: ");
2687 dPrint(syzterm, r, r, 0);
2690 assume( itr.Current().CheckLT( L ) );
2695 if( to_check && syz_checker.IsDivisible(q) )
2700 PrintS(
"_FindReducer::Test LS: q is divisible by LS[?] !:((: ");
2703 assume( itr.Current().CheckLT( L ) );
2726 assume( itr.Current().CheckLT( L ) );
static FORCE_INLINE BOOLEAN n_IsOne(number n, const coeffs r)
TRUE iff 'n' represents the one element.
static poly p_Mult_mm(poly p, poly m, const ring r)
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
#define UNLIKELY(expression)
const int OPT__DEBUG
output all the intermediate states
static void p_LmFree(poly p, ring)
static FORCE_INLINE number n_Mult(number a, number b, const coeffs r)
return the product of 'a' and 'b', i.e., a*b
static FORCE_INLINE number n_InpNeg(number n, const coeffs r)
in-place negation of n MUST BE USED: n = n_InpNeg(n) (no copy is returned)
void PrintS(const char *s)
BOOLEAN p_EqualPolys(poly p1, poly p2, const ring r)
static void p_Delete(poly *p, const ring r)
static void p_ExpVectorDiff(poly pr, poly p1, poly p2, const ring r)
static FORCE_INLINE number n_Div(number a, number b, const coeffs r)
return the quotient of 'a' and 'b', i.e., a/b; raises an error if 'b' is not invertible in r exceptio...
const ring m_rBaseRing
global base ring
static void p_Setm(poly p, const ring r)
#define p_SetCoeff0(p, n, r)
static void p_ExpVectorSum(poly pr, poly p1, poly p2, const ring r)
static BOOLEAN p_ExpVectorEqual(poly p1, poly p2, const ring r1, const ring r2)
static poly p_New(const ring, omBin bin)
void dPrint(const ideal id, const ring lmRing=currRing, const ring tailRing=currRing, const int nTerms=0)
prints an ideal, optionally with details
static poly p_Mult_q(poly p, poly q, const ring r)