10 #undef USE_COEF_BUCKETS 11 #ifdef HAVE_COEF_BUCKETS 12 #define USE_COEF_BUCKETS 15 #ifdef USE_COEF_BUCKETS 16 #define MULTIPLY_BUCKET(B,I) do \ 17 { if (B->coef[I]!=NULL) \ 19 B->buckets[I]=p_Mult_q(B->buckets[I],B->coef[I],B->bucket_ring); \ 24 #define MULTIPLY_BUCKET(B,I) 26 #ifndef USE_COEF_BUCKETS 33 DECLARE_LENGTH(
const unsigned long length =
r->ExpL_Size);
34 DECLARE_ORDSGN(
const long* ordsgn =
r->ordsgn);
40 for (
int i = 1;
i<=
bucket->buckets_used;
i++)
53 p_MemCmp__T(
bucket->buckets[
i]->exp,
p->exp, length, ordsgn,
goto Equal,
goto Greater,
goto Continue);
112 bucket->buckets_length[0] = 1;
114 kBucketAdjustBucketsUsed(
bucket);
123 DECLARE_LENGTH(
const unsigned long length =
r->ExpL_Size);
124 DECLARE_ORDSGN(
const long* ordsgn =
r->ordsgn);
129 for (
int i = 1;
i<=
bucket->buckets_used;
i++)
140 p_MemCmp__T(
bucket->buckets[
i]->exp,
p->exp, length, ordsgn,
goto Continue,
goto Greater,
goto Continue);
178 bucket->buckets_length[0] = 1;
180 kBucketAdjustBucketsUsed(
bucket);
BOOLEAN kbTest(kBucket_pt bucket)
Tests
poly kBucketExtractLmOfBucket(kBucket_pt bucket, int i)
CFArray copy(const CFList &list)
write elements of list into an array
static BOOLEAN Equal(number a, number b, const coeffs r)
LINKAGE void p_kBucketSetLm__T(kBucket_pt bucket)
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
#define p_FreeBinAddr(p, r)
#define MULTIPLY_BUCKET(B, I)
#define n_Delete__T(n, r)
static unsigned pLength(poly a)
static bool Greater(mono_type m1, mono_type m2)
static void p_Delete(poly *p, const ring r)
#define p_LmEqual(p1, p2, r)
static poly p_LmInit(poly p, const ring r)
static poly p_Add_q(poly p, poly q, const ring r)