source: git/libpolys/coeffs/rmodulon.h @ 5cd658f

spielwiese
Last change on this file since 5cd658f was 8c6bd4d, checked in by Martin Lee <martinlee84@…>, 11 years ago
fix: init Z/* from bigint's
  • Property mode set to 100644
File size: 2.4 KB
Line 
1#ifndef RMODULON_H
2#define RMODULON_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT: numbers modulo n
8*/
9#ifdef HAVE_RINGS
10#include <coeffs/coeffs.h>
11#include <coeffs/rintegers.h>
12
13#ifndef NATNUMBER
14#define NATNUMBER unsigned long
15#endif
16
17typedef struct { int_number base; NATNUMBER exp; } ZnmInfo;
18
19BOOLEAN nrnInitChar    (coeffs r, void*);
20number  nrnCopy        (number a, const coeffs r);
21int     nrnSize        (number a, const coeffs r);
22void    nrnDelete      (number *a, const coeffs r);
23BOOLEAN nrnGreaterZero (number k, const coeffs r);
24number  nrnMult        (number a, number b, const coeffs r);
25number  nrnInit        (long i, const coeffs r);
26int     nrnInt         (number &n, const coeffs r);
27number  nrnAdd         (number a, number b, const coeffs r);
28number  nrnSub         (number a, number b, const coeffs r);
29void    nrnPower       (number a, int i, number * result, const coeffs r);
30BOOLEAN nrnIsZero      (number a, const coeffs r);
31BOOLEAN nrnIsOne       (number a, const coeffs r);
32BOOLEAN nrnIsMOne      (number a, const coeffs r);
33BOOLEAN nrnIsUnit      (number a, const coeffs r);
34number  nrnGetUnit     (number a, const coeffs r);
35number  nrnDiv         (number a, number b, const coeffs r);
36number  nrnMod         (number a,number b, const coeffs r);
37number  nrnIntDiv      (number a,number b, const coeffs r);
38number  nrnNeg         (number c, const coeffs r);
39number  nrnInvers      (number c, const coeffs r);
40BOOLEAN nrnGreater     (number a, number b, const coeffs r);
41BOOLEAN nrnDivBy       (number a, number b, const coeffs r);
42int     nrnDivComp     (number a, number b, const coeffs r);
43BOOLEAN nrnEqual       (number a, number b, const coeffs r);
44number  nrnLcm         (number a,number b, const coeffs r);
45number  nrnGcd         (number a,number b, const coeffs r);
46number  nrnExtGcd      (number a, number b, number *s, number *t, const coeffs r);
47nMapFunc nrnSetMap     (const coeffs src, const coeffs dst);
48#define  nrnWrite      nrzWrite
49const char *  nrnRead  (const char *s, number *a, const coeffs r);
50void     nrnCoeffWrite (const coeffs r, BOOLEAN details);
51#ifdef LDEBUG
52BOOLEAN nrnDBTest      (number a, const char *f, const int l, const coeffs r);
53#endif
54void    nrnSetExp(unsigned long c, const coeffs r);
55void    nrnInitExp(unsigned long c, const coeffs r);
56
57number nrnMapQ(number from, const coeffs src, const coeffs dst);
58#endif
59#endif
Note: See TracBrowser for help on using the repository browser.