1 | #ifndef COEFFRINGS_H |
---|
2 | #define COEFFRINGS_H |
---|
3 | |
---|
4 | #include <misc/auxiliary.h> |
---|
5 | #include <coeffs/coeffs.h> |
---|
6 | #include <polys/monomials/ring.h> |
---|
7 | |
---|
8 | static inline number n_Copy(number n, const ring r){ return n_Copy(n, r->cf); } |
---|
9 | static inline void n_Delete(number* p, const ring r){ n_Delete(p, r->cf); } |
---|
10 | static inline BOOLEAN n_Equal(number a, number b, const ring r){ return n_Equal(a, b, r->cf); } |
---|
11 | static inline nMapFunc n_SetMap(const ring src, const ring dst){ return dst->cf->cfSetMap(src->cf,dst->cf); } |
---|
12 | static inline int n_GetChar(const ring r){ return n_GetChar(r->cf); } |
---|
13 | |
---|
14 | // static inline BOOLEAN n_Test(number n, const char *filename, const int linenumber, const ring r){ return n_DBTest( n, filename, linenumber, r->cf); } |
---|
15 | // static inline BOOLEAN n_Test(number a, const ring r){ return n_DBTest(a, __FILE__, __LINE__, r); } |
---|
16 | // #define n_Test(a,r) |
---|
17 | |
---|
18 | |
---|
19 | |
---|
20 | static inline BOOLEAN n_IsZero(number n, const ring r){ return n_IsZero(n,r->cf); } |
---|
21 | static inline BOOLEAN n_IsOne(number n, const ring r){ return n_IsOne(n,r->cf); } |
---|
22 | static inline BOOLEAN n_IsMOne(number n, const ring r){ return n_IsMOne(n,r->cf); } |
---|
23 | static inline BOOLEAN n_GreaterZero(number n, const ring r){ return n_GreaterZero(n,r->cf); } |
---|
24 | static inline number n_Init(int i, const ring r){ return n_Init(i,r->cf); } |
---|
25 | static inline number n_Neg(number n, const ring r){ return n_Neg(n,r->cf); } |
---|
26 | static inline number n_Invers(number a, const ring r){ return n_Invers(a,r->cf); } |
---|
27 | static inline int n_Size(number n, const ring r){ return n_Size(n,r->cf); } |
---|
28 | static inline void n_Normalize(number& n, const ring r){ return n_Normalize(n,r->cf); } |
---|
29 | static inline void n_Write(number& n, const ring r){ return n_Write(n, r->cf, rShortOut(r)); } |
---|
30 | static inline number n_GetDenom(number& n, const ring r){ return n_GetDenom(n, r->cf);} |
---|
31 | static inline number n_GetNumerator(number& n, const ring r){ return n_GetNumerator(n, r->cf);} |
---|
32 | static inline void n_Power(number a, int b, number *res, const ring r){ n_Power(a,b,res,r->cf); } |
---|
33 | static inline number n_Mult(number a, number b, const ring r){ return n_Mult(a, b, r->cf);} |
---|
34 | static inline void n_InpMult(number &a, number b, const ring r){ n_InpMult(a,b,r->cf); } |
---|
35 | static inline number n_Sub(number a, number b, const ring r){ return n_Sub(a, b, r->cf);} |
---|
36 | static inline number n_Add(number a, number b, const ring r){ return n_Add(a, b, r->cf);} |
---|
37 | static inline number n_Div(number a, number b, const ring r){ return n_Div(a,b, r->cf);} |
---|
38 | static inline number n_IntDiv(number a, number b, const ring r){ return n_IntDiv(a,b, r->cf);} |
---|
39 | static inline number n_ExactDiv(number a, number b, const ring r){ return n_ExactDiv(a,b, r->cf);} |
---|
40 | static inline number n_Gcd(number a, number b, const ring r){ return n_Gcd(a,b, r->cf);} |
---|
41 | static inline number n_Lcm(number a, number b, const ring r){ return n_Lcm(a,b, r->cf);} |
---|
42 | |
---|
43 | #ifdef HAVE_RINGS |
---|
44 | static inline BOOLEAN n_IsUnit(number n, const ring r){ return n_IsUnit(n, r->cf);} |
---|
45 | static inline number n_GetUnit(number n, const ring r){ return n_GetUnit(n, r->cf);} |
---|
46 | static inline BOOLEAN n_DivBy(number a, number b, const ring r){ return n_DivBy(a,b, r->cf);} |
---|
47 | #endif |
---|
48 | |
---|
49 | static inline int n_ParDeg(number n, const ring r){ assume(r != NULL); assume(r->cf != NULL); return n_ParDeg(n,r->cf); } |
---|
50 | |
---|
51 | #endif /* COEFFRINGS_H */ |
---|