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

Go to the source code of this file.

Functions

BOOLEAN flintQ_InitChar (coeffs cf, void *infoStruct)
 
coeffs flintQInitCfByName (char *s, n_coeffType n)
 

Function Documentation

◆ flintQ_InitChar()

BOOLEAN flintQ_InitChar ( coeffs  cf,
void *  infoStruct 
)

Definition at line 563 of file flintcf_Q.cc.

564 {
565  char *pp=(char*)infoStruct;
566  cf->cfCoeffString = CoeffString;
567  cf->cfCoeffName = CoeffName;
568  cf->cfCoeffWrite = CoeffWrite;
569  cf->nCoeffIsEqual = CoeffIsEqual;
570  cf->cfKillChar = KillChar;
571  cf->cfSetChar = SetChar;
572  cf->ch=0; //char 0
573  cf->cfMult = Mult;
574  cf->cfSub = Sub;
575  cf->cfAdd = Add;
576  cf->cfDiv = Div;
577  cf->cfExactDiv = ExactDiv; // ???
578  cf->cfInit =Init;
579  cf->cfInitMPZ =InitMPZ;
580  cf->cfSize = Size;
581  cf->cfInt = Int;
582  cf->cfMPZ = MPZ;
583  cf->cfInpNeg = Neg;
584  cf->cfInvers = Invers;
585  cf->cfCopy = Copy;
586  cf->cfRePart = Copy;
587  // default: cf->cfImPart = ndReturn0;
588  cf->cfWriteLong = WriteShort; //WriteLong;
589  cf->cfWriteShort = WriteShort;
590  cf->cfRead = Read;
591  cf->cfNormalize = Normalize;
592 
593  //cf->cfDivComp=
594  //cf->cfIsUnit=
595  //cf->cfGetUnit=
596  //cf->cfDivBy=
597 
598  cf->cfGreater=Greater;
599  cf->cfEqual =Equal;
600  cf->cfIsZero =IsZero;
601  cf->cfIsOne =IsOne;
602  cf->cfIsMOne =IsMOne;
603  cf->cfGreaterZero=GreaterZero;
604 
605  cf->cfPower = Power;
606  cf->cfGetDenom = GetDenom;
607  cf->cfGetNumerator = GetNumerator;
608  cf->cfGcd = Gcd;
609  cf->cfExtGcd = ExtGcd;
610  cf->cfLcm = Lcm;
611  cf->cfDelete = Delete;
612  cf->cfSetMap = SetMap;
613  // default: cf->cfInpMult
614  // default: cf->cfInpAdd
615  cf->cfFarey =Farey;
616  cf->cfChineseRemainder=ChineseRemainder;
617  cf->cfParDeg = ParDeg;
618  cf->cfParameter = Parameter;
619  // cf->cfClearContent = ClearContent;
620  // cf->cfClearDenominators = ClearDenominators;
621  cf->convFactoryNSingN=ConvFactoryNSingN;
622  cf->convSingNFactoryN=ConvSingNFactoryN;
623  cf->cfWriteFd = WriteFd;
624  cf->cfReadFd = ReadFd;
625 #ifdef LDEBUG
626  cf->cfDBTest = DBTest;
627 #endif
628 
629  cf->iNumberOfParameters = 1;
630  char **pn=(char**)omAlloc0(sizeof(char*));
631  pn[0]=omStrDup(pp);
632  cf->pParameterNames = (const char **)pn;
633  cf->has_simple_Inverse= FALSE;
634  cf->has_simple_Alloc= FALSE;
635  cf->is_field=FALSE;
636 
637  return FALSE;
638 }
#define FALSE
Definition: auxiliary.h:94
CanonicalForm pp(const CanonicalForm &)
CanonicalForm pp ( const CanonicalForm & f )
Definition: cf_gcd.cc:248
CanonicalForm cf
Definition: cfModGcd.cc:4024
static void WriteShort(number a, const coeffs r)
Definition: flintcf_Q.cc:219
static number Lcm(number a, number b, const coeffs r)
Definition: flintcf_Q.cc:405
static number ConvFactoryNSingN(const CanonicalForm n, const coeffs r)
Definition: flintcf_Q.cc:510
static void MPZ(mpz_t result, number &n, const coeffs r)
Definition: flintcf_Q.cc:158
static number Neg(number a, const coeffs r)
Definition: flintcf_Q.cc:176
static BOOLEAN Greater(number a, number b, const coeffs r)
Definition: flintcf_Q.cc:319
char * CoeffName(const coeffs r)
Definition: flintcf_Q.cc:518
static number Mult(number a, number b, const coeffs c)
Definition: flintcf_Q.cc:55
static number Sub(number a, number b, const coeffs c)
Definition: flintcf_Q.cc:62
static long Int(number &n, const coeffs r)
Definition: flintcf_Q.cc:135
static number GetDenom(number &n, const coeffs r)
Definition: flintcf_Q.cc:372
static number Init(long i, const coeffs r)
Definition: flintcf_Q.cc:117
static BOOLEAN CoeffIsEqual(const coeffs r, n_coeffType n, void *parameter)
Definition: flintcf_Q.cc:47
static void Normalize(number &a, const coeffs r)
Definition: flintcf_Q.cc:315
static number Gcd(number a, number b, const coeffs r)
Definition: flintcf_Q.cc:389
static char * CoeffString(const coeffs r)
Definition: flintcf_Q.cc:525
static number ExtGcd(number a, number b, number *s, number *t, const coeffs r)
Definition: flintcf_Q.cc:396
static void WriteFd(number a, const ssiInfo *d, const coeffs)
Definition: flintcf_Q.cc:460
static BOOLEAN GreaterZero(number k, const coeffs r)
Definition: flintcf_Q.cc:359
static BOOLEAN DBTest(number a, const char *f, const int l, const coeffs r)
Definition: flintcf_Q.cc:553
static void Delete(number *a, const coeffs r)
Definition: flintcf_Q.cc:409
static CanonicalForm ConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)
Definition: flintcf_Q.cc:514
static void KillChar(coeffs cf)
Definition: flintcf_Q.cc:558
static number Copy(number a, const coeffs r)
Definition: flintcf_Q.cc:201
static number GetNumerator(number &n, const coeffs r)
Definition: flintcf_Q.cc:380
static number ReadFd(const ssiInfo *d, const coeffs)
Definition: flintcf_Q.cc:485
static number InitMPZ(mpz_t i, const coeffs r)
Definition: flintcf_Q.cc:124
static number Div(number a, number b, const coeffs c)
Definition: flintcf_Q.cc:76
static void CoeffWrite(const coeffs r, BOOLEAN details)
Definition: flintcf_Q.cc:531
static void Power(number a, int i, number *result, const coeffs r)
Definition: flintcf_Q.cc:365
static BOOLEAN Equal(number a, number b, const coeffs r)
Definition: flintcf_Q.cc:323
static number Add(number a, number b, const coeffs c)
Definition: flintcf_Q.cc:69
static BOOLEAN IsOne(number a, const coeffs r)
Definition: flintcf_Q.cc:331
static number Farey(number p, number n, const coeffs)
Definition: flintcf_Q.cc:441
static BOOLEAN IsZero(number a, const coeffs r)
Definition: flintcf_Q.cc:327
static int ParDeg(number x, const coeffs r)
Definition: flintcf_Q.cc:449
static nMapFunc SetMap(const coeffs src, const coeffs dst)
Definition: flintcf_Q.cc:418
static number ChineseRemainder(number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs)
Definition: flintcf_Q.cc:445
static BOOLEAN IsMOne(number k, const coeffs r)
Definition: flintcf_Q.cc:335
static void SetChar(const coeffs r)
Definition: flintcf_Q.cc:51
static number Parameter(const int i, const coeffs r)
Definition: flintcf_Q.cc:453
static number Invers(number a, const coeffs r)
Definition: flintcf_Q.cc:181
static const char * Read(const char *st, number *a, const coeffs r)
Definition: flintcf_Q.cc:273
static int Size(number n, const coeffs r)
Definition: flintcf_Q.cc:131
static number ExactDiv(number a, number b, const coeffs c)
Definition: flintcf_Q.cc:98
#define omStrDup(s)
Definition: omAllocDecl.h:263
#define omAlloc0(size)
Definition: omAllocDecl.h:211

◆ flintQInitCfByName()

coeffs flintQInitCfByName ( char *  s,
n_coeffType  n 
)

Definition at line 535 of file flintcf_Q.cc.

536 {
537  const char start[]="flint:QQ[";
538  const int start_len=strlen(start);
539  if (strncmp(s,start,start_len)==0)
540  {
541  s+=start_len;
542  char st[10];
543  int l=sscanf(s,"%s",st);
544  if (l==1)
545  {
546  while (st[strlen(st)-1]==']') st[strlen(st)-1]='\0';
547  return nInitChar(n,(void*)st);
548  }
549  }
550  return NULL;
551 }
int l
Definition: cfEzgcd.cc:93
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
Definition: numbers.cc:350
const CanonicalForm int s
Definition: facAbsFact.cc:55
#define NULL
Definition: omList.c:10