1 | #ifndef RINTEGERS_H |
---|
2 | #define RINTEGERS_H |
---|
3 | /**************************************** |
---|
4 | * Computer Algebra System SINGULAR * |
---|
5 | ****************************************/ |
---|
6 | /* $Id: rintegers.h,v 1.3 2008-02-01 15:11:34 wienand Exp $ */ |
---|
7 | /* |
---|
8 | * ABSTRACT: numbers modulo n |
---|
9 | */ |
---|
10 | #ifdef HAVE_RINGZ |
---|
11 | #include "structs.h" |
---|
12 | |
---|
13 | extern int nrzExp; |
---|
14 | extern NATNUMBER nrzModul; |
---|
15 | |
---|
16 | number nrzCopy (number a); |
---|
17 | number cfrzCopy (number a, const ring r); |
---|
18 | int nrzSize (number a); |
---|
19 | void nrzDelete (number *a, const ring r); |
---|
20 | BOOLEAN nrzGreaterZero (number k); |
---|
21 | number nrzMult (number a, number b); |
---|
22 | number nrzInit (int i); |
---|
23 | int nrzInt (number &n); |
---|
24 | number nrzAdd (number a, number b); |
---|
25 | number nrzSub (number a, number b); |
---|
26 | void nrzPower (number a, int i, number * result); |
---|
27 | BOOLEAN nrzIsZero (number a); |
---|
28 | BOOLEAN nrzIsOne (number a); |
---|
29 | BOOLEAN nrzIsMOne (number a); |
---|
30 | BOOLEAN nrzIsUnit (number a); |
---|
31 | number nrzGetUnit (number a); |
---|
32 | number nrzDiv (number a, number b); |
---|
33 | number nrzIntDiv (number a,number b); |
---|
34 | number nrzNeg (number c); |
---|
35 | number nrzInvers (number c); |
---|
36 | BOOLEAN nrzGreater (number a, number b); |
---|
37 | BOOLEAN nrzDivBy (number a, number b); |
---|
38 | int nrzComp (number a, number b); |
---|
39 | BOOLEAN nrzEqual (number a, number b); |
---|
40 | number nrzLcm (number a,number b, ring r); |
---|
41 | number nrzGcd (number a,number b,ring r); |
---|
42 | number nrzExtGcd (number a, number b, number *s, number *t); |
---|
43 | nMapFunc nrzSetMap (ring src, ring dst); |
---|
44 | void nrzWrite (number &a); |
---|
45 | char * nrzRead (char *s, number *a); |
---|
46 | char * nrzName (number n); |
---|
47 | #ifdef LDEBUG |
---|
48 | BOOLEAN nrzDBTest (number a, char *f, int l); |
---|
49 | #endif |
---|
50 | void nrzSetExp(int c, ring r); |
---|
51 | void nrzInitExp(int c, ring r); |
---|
52 | void nrzDelete(number *a, const ring r); |
---|
53 | |
---|
54 | #endif |
---|
55 | #endif |
---|