rintegers.h
Go to the documentation of this file.
1 #ifndef RINTEGERS_H
2 #define RINTEGERS_H
3 /****************************************
4 * Computer Algebra System SINGULAR *
5 ****************************************/
6 /*
7 * ABSTRACT: numbers modulo n
8 */
9 #include "misc/auxiliary.h"
10 
11 #ifdef HAVE_RINGS
12 #include "coeffs/coeffs.h"
13 
14 #if SI_INTEGER_VARIANT == 3
15 #define SR_HDL(A) ((long)(A))
16 #define SR_INT 1L
17 #define INT_TO_SR(INT) ((number) (((long)INT << 2) + SR_INT))
18 #define SR_TO_INT(SR) (((long)SR) >> 2)
19 #define n_Z_IS_SMALL(A) (SR_HDL(A) & SR_INT)
20 #define INT_IS_SMALL(A) ( ((A << 1) >> 1) == A )
21 #endif
22 
23 //extern int nrzExp;
24 //extern unsigned long nrzModul;
25 
26 BOOLEAN nrzInitChar (coeffs r, void * parameter);
27 
28 void nrzWrite (number a, const coeffs r); /*for rmodulon.cc*/
29 void nrzDelete (number *a, const coeffs); /*for rmodulon.cc*/
30 int nrzSize (number a, const coeffs); /*for rmodulon.cc*/
31 void nrzWriteFd(number n, const ssiInfo* d, const coeffs); /*for rmodulon.cc*/
32 number nrzReadFd(const ssiInfo *d, const coeffs); /*for rmodulon.cc*/
33 
34 number nrzInit (long i, const coeffs r); /*for SAGE, better: n_Init*/
35 
36 #endif
37 
38 #endif
void nrzWrite(number a, const coeffs r)
Definition: s_buff.h:20
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
mpz_t n
Definition: longrat.h:50
Coefficient rings, fields and other domains suitable for Singular polynomials.
The main handler for Singular numbers which are suitable for Singular polynomials.
All the auxiliary stuff.
int i
Definition: cfEzgcd.cc:125
number nrzInit(long i, const coeffs r)
int nrzSize(number a, const coeffs)
BOOLEAN nrzInitChar(coeffs r, void *parameter)
void nrzDelete(number *a, const coeffs)
number nrzReadFd(const ssiInfo *d, const coeffs)
int BOOLEAN
Definition: auxiliary.h:87