source: git/libpolys/coeffs/rintegers.h

spielwiese
Last change on this file was 738395, checked in by Hans Schoenemann <hannes@…>, 9 days ago
HAVE_RINGS is default (p2)
  • Property mode set to 100644
File size: 1.1 KB
Line 
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#include "coeffs/coeffs.h"
12
13#if SI_INTEGER_VARIANT == 3
14#define SR_HDL(A) ((long)(A))
15#define SR_INT    1L
16#define INT_TO_SR(INT)  ((number) (((long)INT << 2) + SR_INT))
17#define SR_TO_INT(SR)   (((long)SR) >> 2)
18#define n_Z_IS_SMALL(A)     (SR_HDL(A) & SR_INT)
19#define INT_IS_SMALL(A) ( ((A << 1) >> 1) == A )
20#endif
21
22//extern int nrzExp;
23//extern unsigned long nrzModul;
24
25BOOLEAN nrzInitChar    (coeffs r,  void * parameter);
26
27void    nrzWrite       (number a, const coeffs r); /*for rmodulon.cc*/
28void    nrzDelete      (number *a, const coeffs);  /*for rmodulon.cc*/
29int     nrzSize        (number a, const coeffs);   /*for rmodulon.cc*/
30void nrzWriteFd(number n, const ssiInfo* d, const coeffs); /*for rmodulon.cc*/
31number nrzReadFd(const ssiInfo *d, const coeffs);  /*for rmodulon.cc*/
32
33number  nrzInit        (long i, const coeffs r); /*for SAGE, better: n_Init*/
34
35#endif
Note: See TracBrowser for help on using the repository browser.