Functions
rintegers.h File Reference
#include <misc/auxiliary.h>
#include <coeffs/coeffs.h>

Go to the source code of this file.

Functions

BOOLEAN nrzInitChar (coeffs r, void *parameter)
 
void nrzWrite (number &a, const coeffs r)
 

Function Documentation

BOOLEAN nrzInitChar ( coeffs  r,
void *  parameter 
)

Definition at line 482 of file rintegers.cc.

483 {
484  assume( getCoeffType(r) == ID );
485 
486  r->is_field=FALSE;
487  r->is_domain=TRUE;
488  r->rep=n_rep_gmp;
489 
490  //r->nCoeffIsEqual = ndCoeffIsEqual;
491  r->cfCoeffString = nrzCoeffString;
492  //r->cfKillChar = ndKillChar;
493  r->cfMult = nrzMult;
494  r->cfSub = nrzSub;
495  r->cfAdd = nrzAdd;
496  r->cfDiv = nrzDiv;
497  r->cfIntMod= nrzIntMod;
498  r->cfExactDiv= nrzExactDiv;
499  r->cfInit = nrzInit;
500  r->cfSize = nrzSize;
501  r->cfInt = nrzInt;
502  //#ifdef HAVE_RINGS
503  r->cfDivComp = nrzDivComp; // only for ring stuff
504  r->cfIsUnit = nrzIsUnit; // only for ring stuff
505  r->cfGetUnit = nrzGetUnit; // only for ring stuff
506  r->cfExtGcd = nrzExtGcd; // only for ring stuff
507  r->cfDivBy = nrzDivBy; // only for ring stuff
508  //#endif
509  r->cfInpNeg = nrzNeg;
510  r->cfInvers= nrzInvers;
511  r->cfCopy = nrzCopy;
512  r->cfWriteLong = nrzWrite;
513  r->cfRead = nrzRead;
514  r->cfGreater = nrzGreater;
515  r->cfEqual = nrzEqual;
516  r->cfIsZero = nrzIsZero;
517  r->cfIsOne = nrzIsOne;
518  r->cfIsMOne = nrzIsMOne;
519  r->cfGreaterZero = nrzGreaterZero;
520  r->cfPower = nrzPower;
521  r->cfGcd = nrzGcd;
522  r->cfLcm = nrzLcm;
523  r->cfDelete= nrzDelete;
524  r->cfSetMap = nrzSetMap;
525  r->cfCoeffWrite = nrzCoeffWrite;
526  r->cfQuot1 = nrzQuot1;
527  r->convSingNFactoryN=nrzConvSingNFactoryN;
528  r->convFactoryNSingN=nrzConvFactoryNSingN;
529  // debug stuff
530 
531 #ifdef LDEBUG
532  r->cfDBTest=nrzDBTest;
533 #endif
534 
535  r->nNULL = 0;
536  r->ch = 0;
537  r->has_simple_Alloc=FALSE;
538  r->has_simple_Inverse=FALSE;
539  return FALSE;
540 }
static char * nrzCoeffString(const coeffs)
Definition: rintegers.cc:464
number nrzGetUnit(number a, const coeffs r)
Definition: rintegers.cc:206
number nrzIntMod(number a, number b, const coeffs r)
Definition: rintegers.cc:287
void nrzDelete(number *a, const coeffs r)
Definition: rintegers.cc:153
#define FALSE
Definition: auxiliary.h:140
int nrzDivComp(number a, number b, const coeffs r)
Definition: rintegers.cc:246
number nrzMult(number a, number b, const coeffs r)
Definition: rintegers.cc:86
number nrzLcm(number a, number b, const coeffs r)
Definition: rintegers.cc:97
void nrzWrite(number &a, const coeffs r)
Definition: rintegers.cc:380
BOOLEAN nrzEqual(number a, number b, const coeffs r)
Definition: rintegers.cc:231
#define TRUE
Definition: auxiliary.h:144
nMapFunc nrzSetMap(const coeffs src, const coeffs dst)
Definition: rintegers.cc:338
BOOLEAN nrzDivBy(number a, number b, const coeffs r)
Definition: rintegers.cc:257
number nrzDiv(number a, number b, const coeffs r)
Definition: rintegers.cc:262
BOOLEAN nrzGreaterZero(number k, const coeffs r)
Definition: rintegers.cc:241
BOOLEAN nrzGreater(number a, number b, const coeffs r)
Definition: rintegers.cc:236
void nrzPower(number a, int i, number *result, const coeffs r)
Definition: rintegers.cc:135
const char * nrzRead(const char *s, number *a, const coeffs r)
Definition: rintegers.cc:448
number nrzCopy(number a, const coeffs r)
Definition: rintegers.cc:161
number nrzNeg(number c, const coeffs r)
Definition: rintegers.cc:309
int nrzSize(number a, const coeffs r)
Definition: rintegers.cc:176
BOOLEAN nrzIsOne(number a, const coeffs r)
Definition: rintegers.cc:221
number nrzGcd(number a, number b, const coeffs r)
Definition: rintegers.cc:109
#define assume(x)
Definition: mod2.h:405
number nrzInvers(number c, const coeffs r)
Definition: rintegers.cc:299
number nrzExtGcd(number a, number b, number *s, number *t, const coeffs r)
Definition: rintegers.cc:121
number nrzSub(number a, number b, const coeffs r)
Definition: rintegers.cc:198
static CanonicalForm nrzConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs)
Definition: rintegers.cc:425
coeffs nrzQuot1(number c, const coeffs r)
Definition: rintegers.cc:469
void nrzCoeffWrite(const coeffs r, BOOLEAN details)
Definition: rintegers.cc:459
(mpz_ptr), see rmodulon,h
Definition: coeffs.h:113
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
Definition: coeffs.h:421
static const n_coeffType ID
Our Type!
Definition: rintegers.cc:32
number nrzInit(long i, const coeffs r)
Definition: rintegers.cc:146
number nrzAdd(number a, number b, const coeffs r)
Definition: rintegers.cc:190
number nrzExactDiv(number a, number b, const coeffs r)
Definition: rintegers.cc:279
BOOLEAN nrzIsMOne(number a, const coeffs r)
Definition: rintegers.cc:226
BOOLEAN nrzDBTest(number a, const char *f, const int l, const coeffs r)
Definition: rintegers.cc:374
BOOLEAN nrzIsUnit(number a, const coeffs r)
Definition: rintegers.cc:211
static number nrzConvFactoryNSingN(const CanonicalForm n, const coeffs r)
Definition: rintegers.cc:436
BOOLEAN nrzIsZero(number a, const coeffs r)
Definition: rintegers.cc:216
long nrzInt(number &n, const coeffs r)
Definition: rintegers.cc:185
void nrzWrite ( number &  a,
const coeffs  r 
)

Definition at line 380 of file rintegers.cc.

381 {
382  char *s,*z;
383  if (a==NULL)
384  {
385  StringAppendS("o");
386  }
387  else
388  {
389  int l=mpz_sizeinbase((mpz_ptr) a, 10) + 2;
390  s=(char*)omAlloc(l);
391  z=mpz_get_str(s,10,(mpz_ptr) a);
392  StringAppendS(z);
393  omFreeSize((ADDRESS)s,l);
394  }
395 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
const poly a
Definition: syzextra.cc:212
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:260
void * ADDRESS
Definition: auxiliary.h:161
#define omAlloc(size)
Definition: omAllocDecl.h:210
void StringAppendS(const char *st)
Definition: reporter.cc:107
#define NULL
Definition: omList.c:10
int l
Definition: cfEzgcd.cc:94