1 | #ifndef WALKSUPPORT_H |
---|
2 | #define WALKSUPPORT_H |
---|
3 | |
---|
4 | #include <misc/intvec.h> |
---|
5 | #include <kernel/int64vec.h> |
---|
6 | |
---|
7 | int tdeg(poly p); |
---|
8 | int getMaxTdeg(ideal I); |
---|
9 | int getMaxPosOfNthRow(intvec *v,int n); |
---|
10 | int64 getInvEps64(ideal G,intvec *targm,int pertdeg); |
---|
11 | int invEpsOk64(ideal I, intvec *targm, int pertdeg, int64 inveps64); |
---|
12 | intvec* getNthRow(intvec *v, int n); |
---|
13 | int64vec* getNthRow64(intvec *v, int n); |
---|
14 | //int64vec* gett64(int64vec* listw, int64vec* currw, int64vec* targw); |
---|
15 | void gett64(int64vec* listw, int64vec* currw, int64vec* targw, int64 &t1, int64 &t2); |
---|
16 | void nextt64(ideal G, int64vec* currw, int64vec* targw, int64 &t1, int64 &t2); |
---|
17 | int64vec* nextw64(int64vec* currw, int64vec* targw, int64 nexttvec0, int64 nexttvec1); |
---|
18 | int DIFFspy(ideal G); |
---|
19 | intvec* DIFF(ideal G); |
---|
20 | ideal init64(ideal G,int64vec* currw); |
---|
21 | BOOLEAN currwOnBorder64(ideal I, int64vec* currw64); |
---|
22 | void getTaun64(ideal G,intvec* targm,int pertdeg, int64vec** v64, int64 & i64); |
---|
23 | //int64vec* getiv64(lists l); |
---|
24 | //int64 getint64(lists l);// not used |
---|
25 | |
---|
26 | |
---|
27 | //functions not originating from the oroginal SINGULAR implementation |
---|
28 | ideal idStd(ideal G); |
---|
29 | ideal idInterRed(ideal G); |
---|
30 | matrix matIdLift(ideal Gomega, ideal M); |
---|
31 | void rCopyAndChangeA(int64vec* w); |
---|
32 | ring rCopy0AndAddA(ring r, int64vec *wv64, BOOLEAN copy_qideal = TRUE, |
---|
33 | BOOLEAN copy_ordering = TRUE); |
---|
34 | int64vec* rGetGlobalOrderMatrix(ring r); |
---|
35 | int64vec* rGetGlobalOrderWeightVec(ring r); |
---|
36 | BOOLEAN noPolysWithMoreThanTwoTerms(ideal Gw); |
---|
37 | #define idealSize(I) IDELEMS(I) |
---|
38 | inline int ivSize(intvec* v){ return((v->rows())*(v->cols())); } |
---|
39 | inline int iv64Size(int64vec* v){ return((v->rows())*(v->cols())); } |
---|
40 | intvec* leadExp(poly p); |
---|
41 | int64vec* leadExp64(poly p); |
---|
42 | void setPosOfIM(intvec* im,int i,int j,int val); |
---|
43 | poly getNthPolyOfId(ideal I,int n); |
---|
44 | int gcd(int a, int b); |
---|
45 | int64 gcd64(int64 a, int64 b); |
---|
46 | inline int64 abs64(int64 i) { return ABS(i); } |
---|
47 | //static inline long scalarProduct(intvec* a, intvec* b); |
---|
48 | //static inline int64 scalarProduct64(int64vec* a, int64vec* b); |
---|
49 | ideal sortRedSB(ideal G); |
---|
50 | intvec* int64VecToIntVec(int64vec* source); |
---|
51 | int64vec* rGetGlobalOrderWeightVec(ring r); |
---|
52 | |
---|
53 | #endif |
---|