Go to the source code of this file.
|
sBucket_pt | sBucketCreate (ring r) |
|
void | sBucketDestroy (sBucket_pt *bucket) |
|
sBucket_pt | sBucketCopy (const sBucket_pt bucket) |
| Copy sBucket non-intrusive!!!
|
|
ring | sBucketGetRing (const sBucket_pt bucket) |
| Returns bucket ring.
|
|
bool | sIsEmpty (const sBucket_pt bucket) |
| Test whether bucket is empty!?
|
|
void | sBucketClearMerge (sBucket_pt bucket, poly *p, int *length) |
|
void | sBucketClearAdd (sBucket_pt bucket, poly *p, int *length) |
|
void | sBucketDestroyMerge (sBucket_pt bucket, poly *p, int *length) |
|
void | sBucketDestroyAdd (sBucket_pt bucket, poly *p, int *length) |
|
void | sBucketDeleteAndDestroy (sBucket_pt *bucket_pt) |
|
poly | sBucketPeek (sBucket_pt b) |
|
void | sBucket_Merge_p (sBucket_pt bucket, poly p, int lp) |
| Merges p into Spoly: assumes Bpoly and p have no common monoms destroys p!
|
|
void | sBucket_Merge_m (sBucket_pt bucket, poly p) |
|
void | sBucket_Add_p (sBucket_pt bucket, poly p, int lp) |
| adds poly p to bucket destroys p!
|
|
void | sBucket_Add_m (sBucket_pt bucket, poly p) |
|
poly | sBucketSortMerge (poly p, const ring r) |
| Sorts p with bucketSort: assumes all monomials of p are different.
|
|
poly | sBucketSortAdd (poly p, const ring r) |
| Sorts p with bucketSort: p may have equal monomials.
|
|
void | sBucketCanonicalize (sBucket_pt bucket) |
|
char * | sBucketString (sBucket_pt bucket) |
|
void | sBucketPrint (sBucket_pt bucket) |
|
◆ sBucket_pt
◆ sBucket_Add_m()
Definition at line 173 of file sbuckets.cc.
174{
177
179
181
183 {
191 {
193 return;
194 }
196 }
197
201}
static BOOLEAN length(leftv result, leftv arg)
static int pLength(poly a)
sBucketPoly buckets[BIT_SIZEOF_LONG - 3]
static int SI_LOG2(int v)
◆ sBucket_Add_p()
adds poly p to bucket destroys p!
Definition at line 203 of file sbuckets.cc.
204{
207
208 if (
p ==
NULL)
return;
211
213
215 {
223 {
225 return;
226 }
228 }
229
233}
◆ sBucket_Merge_m()
Definition at line 127 of file sbuckets.cc.
128{
132
134 {
141 }
142
146}
static poly p_Merge_q(poly p, poly q, const ring r)
◆ sBucket_Merge_p()
Merges p into Spoly: assumes Bpoly and p have no common monoms destroys p!
Definition at line 148 of file sbuckets.cc.
149{
152
153 if (
p ==
NULL)
return;
155
157
159 {
166 }
167
171}
◆ sBucketCanonicalize()
Definition at line 401 of file sbuckets.cc.
402{
406
408 {
412 }
413
416
418
422
424 {
426 {
429
431
432
434
437 }
438
442 }
443
444done:
447 {
452 }
453}
static poly p_Add_q(poly p, poly q, const ring r)
◆ sBucketClearAdd()
Definition at line 275 of file sbuckets.cc.
276{
280
282 {
286 }
287
290
292
296
298 {
300 {
302
305
308 }
309
313 }
314
315done:
316
319
321
323}
bool sIsEmpty(const sBucket_pt bucket)
Test whether bucket is empty!?
◆ sBucketClearMerge()
Definition at line 237 of file sbuckets.cc.
238{
242
244 {
247 }
248
254
256 {
258 {
263 }
265 }
266
267 done:
271}
◆ sBucketCopy()
Copy sBucket non-intrusive!!!
Definition at line 70 of file sbuckets.cc.
71{
74
76
78
80 {
83
86
88 }
89
91}
static poly p_Copy(poly p, const ring r)
returns a copy of p
void sBucketCanonicalize(sBucket_pt bucket)
sBucket_pt sBucketCreate(const ring r)
◆ sBucketCreate()
Definition at line 96 of file sbuckets.cc.
97{
100 return bucket;
101}
STATIC_VAR omBin sBucket_bin
◆ sBucketDeleteAndDestroy()
Definition at line 110 of file sbuckets.cc.
111{
115 {
117 }
120}
#define omFreeBin(addr, bin)
static void p_Delete(poly *p, const ring r)
◆ sBucketDestroy()
◆ sBucketDestroyAdd()
Definition at line 68 of file sbuckets.h.
69{
72}
void sBucketDestroy(sBucket_pt *bucket)
void sBucketClearAdd(sBucket_pt bucket, poly *p, int *length)
◆ sBucketDestroyMerge()
Definition at line 61 of file sbuckets.h.
62{
65}
void sBucketClearMerge(sBucket_pt bucket, poly *p, int *length)
◆ sBucketGetRing()
◆ sBucketPeek()
Definition at line 455 of file sbuckets.cc.
456{
458 return b->buckets[
b->max_bucket].p;
459}
◆ sBucketPrint()
Definition at line 466 of file sbuckets.cc.
467{
469}
void p_Write0(poly p, ring lmRing, ring tailRing)
poly sBucketPeek(sBucket_pt b)
ring sBucketGetRing(const sBucket_pt bucket)
Returns bucket ring.
◆ sBucketSortAdd()
Sorts p with bucketSort: p may have equal monomials.
Definition at line 368 of file sbuckets.cc.
369{
370#ifndef SING_NDEBUG
372#endif
373
375
378
379 do
380 {
384 if (
p ==
NULL)
break;
386 }
387 while (1);
388
392
394#ifndef SING_NDEBUG
397#endif
399}
void sBucketDestroy(sBucket_pt *bucket)
void sBucket_Add_m(sBucket_pt bucket, poly p)
void sBucketClearAdd(sBucket_pt bucket, poly *p, int *length)
◆ sBucketSortMerge()
poly sBucketSortMerge |
( |
poly | p, |
|
|
const ring | r ) |
Sorts p with bucketSort: assumes all monomials of p are different.
Definition at line 332 of file sbuckets.cc.
333{
335
336#ifndef SING_NDEBUG
338#endif
341
342 do
343 {
347 if (
p ==
NULL)
break;
349 }
350 while (1);
351
355
358#ifndef SING_NDEBUG
360#endif
362}
void sBucketClearMerge(sBucket_pt bucket, poly *p, int *length)
void sBucket_Merge_m(sBucket_pt bucket, poly p)
◆ sBucketString()
Definition at line 461 of file sbuckets.cc.
462{
464}
char * p_String(poly p, ring lmRing, ring tailRing)
◆ sIsEmpty()
Test whether bucket is empty!?
Definition at line 50 of file sbuckets.cc.
51{
53 {
56
58 return false;
59
61 return false;
62 }
63
65
66}