My Project  UNKNOWN_GIT_VERSION
Functions
rintegers.h File Reference
#include "misc/auxiliary.h"

Go to the source code of this file.

Functions

BOOLEAN nrzInitChar (coeffs r, void *parameter)
 
void nrzWrite (number a, const coeffs r)
 
void nrzDelete (number *a, const coeffs)
 
int nrzSize (number a, const coeffs)
 
void nrzWriteFd (number n, const ssiInfo *d, const coeffs)
 
number nrzReadFd (const ssiInfo *d, const coeffs)
 
number nrzInit (long i, const coeffs r)
 

Function Documentation

◆ nrzDelete()

void nrzDelete ( number *  a,
const  coeffs 
)

Definition at line 134 of file rintegers.cc.

136 {
137  if (*a != NULL)
138  {
139  mpz_clear((mpz_ptr) *a);
141  *a = NULL;
142  }

◆ nrzInit()

number nrzInit ( long  i,
const coeffs  r 
)

Definition at line 127 of file rintegers.cc.

129 {
130  mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin);
131  mpz_init_set_si(erg, i);
132  return (number) erg;

◆ nrzInitChar()

BOOLEAN nrzInitChar ( coeffs  r,
void *  parameter 
)

Definition at line 593 of file rintegers.cc.

595 {
596  assume( getCoeffType(r) == n_Z );
597 
598  r->is_field=FALSE;
599  r->is_domain=TRUE;
600  r->rep=n_rep_gmp;
601 
602  //r->nCoeffIsEqual = ndCoeffIsEqual;
603  r->cfCoeffString = nrzCoeffString;
604  r->cfCoeffName = nrzCoeffName;
605  r->cfCoeffWrite = nrzCoeffWrite;
606  //r->cfKillChar = ndKillChar;
607  r->cfMult = nrzMult;
608  r->cfSub = nrzSub;
609  r->cfAdd = nrzAdd;
610  r->cfDiv = nrzDiv;
611  r->cfIntMod= nrzIntMod;
612  r->cfExactDiv= nrzExactDiv;
613  r->cfInit = nrzInit;
614  r->cfInitMPZ = nrzInitMPZ;
615  r->cfSize = nrzSize;
616  r->cfInt = nrzInt;
617  r->cfDivComp = nrzDivComp;
618  r->cfIsUnit = nrzIsUnit;
619  r->cfGetUnit = nrzGetUnit;
620  r->cfExtGcd = nrzExtGcd;
621  r->cfXExtGcd = nrzXExtGcd;
622  r->cfDivBy = nrzDivBy;
623  r->cfQuotRem = nrzQuotRem;
624  r->cfInpNeg = nrzNeg;
625  r->cfInvers= nrzInvers;
626  r->cfCopy = nrzCopy;
627  r->cfWriteLong = nrzWrite;
628  r->cfRead = nrzRead;
629  r->cfGreater = nrzGreater;
630  r->cfEqual = nrzEqual;
631  r->cfIsZero = nrzIsZero;
632  r->cfIsOne = nrzIsOne;
633  r->cfIsMOne = nrzIsMOne;
634  r->cfGreaterZero = nrzGreaterZero;
635  r->cfPower = nrzPower;
636  r->cfGcd = nrzGcd;
637  r->cfLcm = nrzLcm;
638  r->cfDelete= nrzDelete;
639  r->cfSetMap = nrzSetMap;
640  r->cfQuot1 = nrzQuot1;
641  r->convSingNFactoryN=nrzConvSingNFactoryN;
642  r->convFactoryNSingN=nrzConvFactoryNSingN;
643  r->cfChineseRemainder=nlChineseRemainderSym;
644  r->cfFarey=nrzFarey;
645  r->cfWriteFd=nrzWriteFd;
646  r->cfReadFd=nrzReadFd;
647  // debug stuff
648 
649 #ifdef LDEBUG
650  r->cfDBTest=nrzDBTest;
651 #endif
652 
653  r->ch = 0;
654  r->has_simple_Alloc=FALSE;
655  r->has_simple_Inverse=FALSE;
656  return FALSE;

◆ nrzReadFd()

number nrzReadFd ( const ssiInfo d,
const  coeffs 
)

Definition at line 585 of file rintegers.cc.

587 {
588  mpz_ptr erg = (mpz_ptr) omAllocBin(gmp_nrz_bin);
589  mpz_init(erg);
591  return (number)erg;

◆ nrzSize()

int nrzSize ( number  a,
const  coeffs 
)

Definition at line 159 of file rintegers.cc.

161 {
162  mpz_ptr p=(mpz_ptr)a;
163  int s=p->_mp_alloc;
164  if (s==1) s=(mpz_cmp_ui(p,0)!=0);
165  return s;
166 

◆ nrzWrite()

void nrzWrite ( number  a,
const coeffs  r 
)

Definition at line 390 of file rintegers.cc.

392 {
393  char *s,*z;
394  if (a==NULL)
395  {
396  StringAppendS("o");
397  }
398  else
399  {
400  int l=mpz_sizeinbase((mpz_ptr) a, 10) + 2;
401  s=(char*)omAlloc(l);
402  z=mpz_get_str(s,10,(mpz_ptr) a);
403  StringAppendS(z);
404  omFreeSize((ADDRESS)s,l);
405  }

◆ nrzWriteFd()

void nrzWriteFd ( number  n,
const ssiInfo d,
const  coeffs 
)

Definition at line 579 of file rintegers.cc.

581 {
582  mpz_out_str (d->f_write,SSI_BASE, (mpz_ptr)n);
583  fputc(' ',d->f_write);
getCoeffType
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
Definition: coeffs.h:420
FALSE
#define FALSE
Definition: auxiliary.h:94
n_rep_gmp
(mpz_ptr), see rmodulon,h
Definition: coeffs.h:114
nrzDelete
void nrzDelete(number *a, const coeffs)
Definition: rintegers.cc:134
nrzCopy
static number nrzCopy(number a, const coeffs)
Definition: rintegers.cc:144
StringAppendS
void StringAppendS(const char *st)
Definition: reporter.cc:106
nrzInvers
static number nrzInvers(number c, const coeffs r)
Definition: rintegers.cc:304
nrzDiv
static number nrzDiv(number a, number b, const coeffs)
Definition: rintegers.cc:248
nrzSetMap
static nMapFunc nrzSetMap(const coeffs src, const coeffs)
Definition: rintegers.cc:343
nrzFarey
static number nrzFarey(number r, number N, const coeffs R)
Definition: rintegers.cc:508
nrzConvSingNFactoryN
static CanonicalForm nrzConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs)
Definition: rintegers.cc:435
ADDRESS
void * ADDRESS
Definition: auxiliary.h:133
nrzReadFd
number nrzReadFd(const ssiInfo *d, const coeffs)
Definition: rintegers.cc:585
nlChineseRemainderSym
number nlChineseRemainderSym(number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs CF)
Definition: longrat.cc:2935
nrzQuot1
static coeffs nrzQuot1(number c, const coeffs r)
Definition: rintegers.cc:488
nrzIntMod
static number nrzIntMod(number a, number b, const coeffs)
Definition: rintegers.cc:292
nrzGreater
static BOOLEAN nrzGreater(number a, number b, const coeffs)
Definition: rintegers.cc:222
nrzConvFactoryNSingN
static number nrzConvFactoryNSingN(const CanonicalForm n, const coeffs r)
Definition: rintegers.cc:446
omAllocBin
#define omAllocBin(bin)
Definition: omAllocDecl.h:203
gmp_nrz_bin
omBin gmp_nrz_bin
Definition: rintegers.cc:30
SSI_BASE
#define SSI_BASE
Definition: auxiliary.h:149
nrzSize
int nrzSize(number a, const coeffs)
Definition: rintegers.cc:159
ssiInfo::f_read
s_buff f_read
Definition: s_buff.h:22
nrzDBTest
static BOOLEAN nrzDBTest(number, const char *, const int, const coeffs)
Definition: rintegers.cc:384
nrzIsOne
static BOOLEAN nrzIsOne(number a, const coeffs)
Definition: rintegers.cc:207
TRUE
#define TRUE
Definition: auxiliary.h:98
i
int i
Definition: cfEzgcd.cc:125
nrzCoeffString
static char * nrzCoeffString(const coeffs cf)
Definition: rintegers.cc:483
nrzGetUnit
static number nrzGetUnit(number, const coeffs r)
Definition: rintegers.cc:192
omFreeSize
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:258
nrzWriteFd
void nrzWriteFd(number n, const ssiInfo *d, const coeffs)
Definition: rintegers.cc:579
nrzGreaterZero
static BOOLEAN nrzGreaterZero(number k, const coeffs)
Definition: rintegers.cc:227
nrzEqual
static BOOLEAN nrzEqual(number a, number b, const coeffs)
Definition: rintegers.cc:217
nrzExtGcd
static number nrzExtGcd(number a, number b, number *s, number *t, const coeffs)
Definition: rintegers.cc:71
nrzAdd
static number nrzAdd(number a, number b, const coeffs)
Definition: rintegers.cc:176
nrzCoeffWrite
static void nrzCoeffWrite(const coeffs, BOOLEAN)
Definition: rintegers.cc:473
n_Z
only used if HAVE_RINGS is defined
Definition: coeffs.h:43
omAlloc
#define omAlloc(size)
Definition: omAllocDecl.h:208
nrzSub
static number nrzSub(number a, number b, const coeffs)
Definition: rintegers.cc:184
nrzNeg
static number nrzNeg(number c, const coeffs)
Definition: rintegers.cc:314
ssiInfo::f_write
FILE * f_write
Definition: s_buff.h:23
nrzDivBy
static BOOLEAN nrzDivBy(number a, number b, const coeffs)
Definition: rintegers.cc:232
nrzIsZero
static BOOLEAN nrzIsZero(number a, const coeffs)
Definition: rintegers.cc:202
nrzInt
static long nrzInt(number &n, const coeffs)
Definition: rintegers.cc:171
nrzQuotRem
static number nrzQuotRem(number a, number b, number *r, const coeffs)
Definition: rintegers.cc:273
nrzInitMPZ
static number nrzInitMPZ(mpz_t m, const coeffs)
Definition: rintegers.cc:501
nrzCoeffName
static char * nrzCoeffName(const coeffs)
Definition: rintegers.cc:478
nrzDivComp
static int nrzDivComp(number a, number b, const coeffs r)
Definition: rintegers.cc:237
nrzIsMOne
static BOOLEAN nrzIsMOne(number a, const coeffs)
Definition: rintegers.cc:212
nrzMult
static number nrzMult(number a, number b, const coeffs)
Definition: rintegers.cc:36
nrzInit
number nrzInit(long i, const coeffs)
Definition: rintegers.cc:127
nrzExactDiv
static number nrzExactDiv(number a, number b, const coeffs)
Definition: rintegers.cc:265
nrzRead
static const char * nrzRead(const char *s, number *a, const coeffs)
Definition: rintegers.cc:462
nrzXExtGcd
static number nrzXExtGcd(number a, number b, number *s, number *t, number *u, number *v, const coeffs)
Definition: rintegers.cc:85
assume
#define assume(x)
Definition: mod2.h:384
NULL
#define NULL
Definition: omList.c:9
l
int l
Definition: cfEzgcd.cc:93
nrzPower
static void nrzPower(number a, int i, number *result, const coeffs)
Definition: rintegers.cc:116
p
int p
Definition: cfModGcd.cc:4019
nrzWrite
void nrzWrite(number a, const coeffs)
Definition: rintegers.cc:390
s
const CanonicalForm int s
Definition: facAbsFact.cc:55
s_readmpz_base
void s_readmpz_base(s_buff F, mpz_ptr a, int base)
Definition: s_buff.cc:207
omFreeBin
#define omFreeBin(addr, bin)
Definition: omAllocDecl.h:257
nrzIsUnit
static BOOLEAN nrzIsUnit(number a, const coeffs)
Definition: rintegers.cc:197
nrzLcm
static number nrzLcm(number a, number b, const coeffs)
Definition: rintegers.cc:47
nrzGcd
static number nrzGcd(number a, number b, const coeffs)
Definition: rintegers.cc:59