1452 #define ENLARGE(pointer, type) pointer=(type*) omrealloc(pointer, c->array_lengths*sizeof(type)) 1454 #define ENLARGE_ALIGN(pointer, type) {if(pointer)\ 1455 pointer=(type*)omReallocAligned(pointer, c->array_lengths*sizeof(type));\ 1456 else pointer=(type*)omAllocAligned(c->array_lengths*sizeof(type));} 1478 #ifndef USE_STDVECBOOL 1496 ecart = sugar - c->
T_deg[
i];
1518 c->
states.push_back (dynamic_bitset <> (i));
1521 #ifdef USE_STDVECBOOL 1523 c->
states.push_back (vector < bool > (i));
1537 #undef ENLARGE_ALIGN 1540 for(j = 0; j <
i; j++)
1657 pLcm (c->
S->m[i], c->
S->m[j], lm);
1697 for(upper = lower + 1; upper < spc; upper++)
1699 if(!
pLmEqual (nodes[lower]->lcm_of_lm, nodes[upper]->lcm_of_lm))
1703 if(
has_t_rep (nodes[upper]->i, nodes[upper]->j, c))
1709 for(z = 0; z < spc_final; z++)
1712 (nodes_final[z]->lcm_of_lm, nodes[lower]->lcm_of_lm, c->
r))
1721 for(; lower <= upper; lower++)
1725 nodes[lower] =
NULL;
1732 p_Test (nodes[lower]->lcm_of_lm, c->
r);
1736 nodes_final[spc_final] =
1739 *(nodes_final[spc_final++]) = *(nodes[lower]);
1741 nodes[lower] =
NULL;
1742 for(lower = lower + 1; lower <= upper; lower++)
1746 nodes[lower] =
NULL;
1755 assume (spc_final <= spc);
1790 m_iLastAltVar - m_iFirstAltVar + 1;
1797 for(
unsigned short v = m_iFirstAltVar;
v <= m_iLastAltVar;
v++)
1815 #endif // if SCAlgebra static int iq_crit(const void *ap, const void *bp)
#define __p_GetComp(p, r)
static int add_to_reductors(slimgb_alg *c, poly h, int len, int ecart, BOOLEAN simplified=FALSE)
const CanonicalForm int s
void introduceDelayedPairs(poly *pa, int s)
unsigned long pTotaldegree(poly p)
CFArray copy(const CFList &list)
write elements of list into an array
static void add_later(poly p, const char *prot, slimgb_alg *c)
static BOOLEAN extended_product_criterion(poly p1, poly gcd1, poly p2, poly gcd2, slimgb_alg *c)
sorted_pair_node ** apairs
static int si_min(const int a, const int b)
sorted_pair_node ** tmp_spn
wlen_type * weighted_lengths
int pTotaldegree_full(poly p)
int kFindDivisibleByInS_easy(kStrategy strat, const red_object &obj)
static void shorten_tails(slimgb_alg *c, poly monom)
#define pHasNotCF(p1, p2)
#define pExpVectorSub(p1, p2)
static poly pOne_Special(const ring r=currRing)
static BOOLEAN monomial_root(poly m, ring r)
poly ksCreateShortSpoly(poly p1, poly p2, ring tailRing)
void clean_top_of_pair_list(slimgb_alg *c)
static int pLength(poly a)
static poly p_Copy(poly p, const ring r)
returns a copy of p
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
static BOOLEAN has_t_rep(const int &arg_i, const int &arg_j, slimgb_alg *state)
const CanonicalForm CFMap CFMap & N
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent : the integer VarOffset encodes:
int tgb_pair_better_gen2(const void *ap, const void *bp)
poly sca_pp_Mult_xi_pp(short i, const poly pPoly, const ring rRing)
static BOOLEAN p_LmShortDivisibleBy(poly a, unsigned long sev_a, poly b, unsigned long not_sev_b, const ring r)
int extended_product_crit
static int si_max(const int a, const int b)
void PrintS(const char *s)
static BOOLEAN p_LmDivisibleBy(poly a, poly b, const ring r)
static short scaFirstAltVar(ring r)
static BOOLEAN rField_is_Zp(const ring r)
static void p_Delete(poly *p, const ring r)
unsigned long p_GetShortExpVector(const poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
wlen_type expected_length
#define ENLARGE(pointer, type)
void pEnlargeSet(poly **p, int l, int increment)
static void cleanS(kStrategy strat, slimgb_alg *c)
static poly gcd_of_terms(poly p, ring r)
void pNorm(poly p, const ring R=currRing)
static short scaLastAltVar(ring r)
static bool rIsSCA(const ring r)
static wlen_type pair_weighted_length(int i, int j, slimgb_alg *c)
sorted_pair_node ** spn_merge(sorted_pair_node **p, int pn, sorted_pair_node **q, int qn, slimgb_alg *c)
#define TEST_V_UPTORADICAL
int syz_comp
array_lengths should be greater equal n;
poly p_Cleardenom(poly p, const ring r)
static wlen_type pQuality(poly p, slimgb_alg *c, int l=-1)
#define ENLARGE_ALIGN(pointer, type)
#define pCopy(p)
return a copy of the poly