[275ecc] | 1 | #ifndef RMODULON_H |
---|
| 2 | #define RMODULON_H |
---|
| 3 | /**************************************** |
---|
| 4 | * Computer Algebra System SINGULAR * |
---|
| 5 | ****************************************/ |
---|
[341696] | 6 | /* $Id$ */ |
---|
[275ecc] | 7 | /* |
---|
| 8 | * ABSTRACT: numbers modulo n |
---|
| 9 | */ |
---|
[c90b43] | 10 | #ifdef HAVE_RINGS |
---|
[2d805a] | 11 | #include <coeffs/coeffs.h> |
---|
| 12 | #include <coeffs/rintegers.h> |
---|
[275ecc] | 13 | |
---|
| 14 | #ifndef NATNUMBER |
---|
| 15 | #define NATNUMBER unsigned long |
---|
| 16 | #endif |
---|
| 17 | |
---|
[1cce47] | 18 | BOOLEAN nrnInitChar (coeffs r, void*); |
---|
[14b11bb] | 19 | number nrnCopy (number a, const coeffs r); |
---|
| 20 | int nrnSize (number a, const coeffs r); |
---|
| 21 | void nrnDelete (number *a, const coeffs r); |
---|
| 22 | BOOLEAN nrnGreaterZero (number k, const coeffs r); |
---|
| 23 | number nrnMult (number a, number b, const coeffs r); |
---|
[2f3764] | 24 | number nrnInit (long i, const coeffs r); |
---|
[14b11bb] | 25 | int nrnInt (number &n, const coeffs r); |
---|
| 26 | number nrnAdd (number a, number b, const coeffs r); |
---|
| 27 | number nrnSub (number a, number b, const coeffs r); |
---|
| 28 | void nrnPower (number a, int i, number * result, const coeffs r); |
---|
| 29 | BOOLEAN nrnIsZero (number a, const coeffs r); |
---|
| 30 | BOOLEAN nrnIsOne (number a, const coeffs r); |
---|
| 31 | BOOLEAN nrnIsMOne (number a, const coeffs r); |
---|
| 32 | BOOLEAN nrnIsUnit (number a, const coeffs r); |
---|
| 33 | number nrnGetUnit (number a, const coeffs r); |
---|
| 34 | number nrnDiv (number a, number b, const coeffs r); |
---|
| 35 | number nrnMod (number a,number b, const coeffs r); |
---|
| 36 | number nrnIntDiv (number a,number b, const coeffs r); |
---|
| 37 | number nrnNeg (number c, const coeffs r); |
---|
| 38 | number nrnInvers (number c, const coeffs r); |
---|
| 39 | BOOLEAN nrnGreater (number a, number b, const coeffs r); |
---|
| 40 | BOOLEAN nrnDivBy (number a, number b, const coeffs r); |
---|
| 41 | int nrnDivComp (number a, number b, const coeffs r); |
---|
| 42 | BOOLEAN nrnEqual (number a, number b, const coeffs r); |
---|
| 43 | number nrnLcm (number a,number b, const coeffs r); |
---|
| 44 | number nrnGcd (number a,number b, const coeffs r); |
---|
| 45 | number nrnExtGcd (number a, number b, number *s, number *t, const coeffs r); |
---|
| 46 | nMapFunc nrnSetMap (const coeffs src, const coeffs dst); |
---|
[493225] | 47 | #define nrnWrite nrzWrite |
---|
[14b11bb] | 48 | const char * nrnRead (const char *s, number *a, const coeffs r); |
---|
[03f7b5] | 49 | void nrnCoeffWrite (const coeffs r, BOOLEAN details); |
---|
[275ecc] | 50 | #ifdef LDEBUG |
---|
[14b11bb] | 51 | BOOLEAN nrnDBTest (number a, const char *f, const int l, const coeffs r); |
---|
[275ecc] | 52 | #endif |
---|
[14b11bb] | 53 | void nrnSetExp(int c, const coeffs r); |
---|
| 54 | void nrnInitExp(int c, const coeffs r); |
---|
[275ecc] | 55 | |
---|
| 56 | #endif |
---|
| 57 | #endif |
---|