My Project
Loading...
Searching...
No Matches
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 636 of file flintcf_Q.cc.

637{
638 char *pp=(char*)infoStruct;
639 cf->cfCoeffName = CoeffName;
640 cf->nCoeffIsEqual = CoeffIsEqual;
641 cf->cfKillChar = KillChar;
642 cf->cfSetChar = SetChar;
643 cf->ch=0; //char 0
644 cf->cfMult = Mult;
645 cf->cfSub = Sub;
646 cf->cfAdd = Add;
647 cf->cfDiv = Div;
648 cf->cfExactDiv = ExactDiv; // ???
649 cf->cfInit =Init;
650 cf->cfInitMPZ =InitMPZ;
651 cf->cfSize = Size;
652 cf->cfInt = Int;
653 cf->cfMPZ = MPZ;
654 cf->cfInpNeg = Neg;
655 cf->cfInvers = Invers;
656 cf->cfCopy = Copy;
657 cf->cfRePart = Copy;
658 // default: cf->cfImPart = ndReturn0;
659 cf->cfWriteLong = WriteShort; //WriteLong;
660 cf->cfWriteShort = WriteShort;
661 cf->cfRead = Read;
662 cf->cfNormalize = Normalize;
663
664 //cf->cfDivComp=
665 //cf->cfIsUnit=
666 //cf->cfGetUnit=
667 //cf->cfDivBy=
668
669 cf->cfGreater=Greater;
670 cf->cfEqual =Equal;
671 cf->cfIsZero =IsZero;
672 cf->cfIsOne =IsOne;
673 cf->cfIsMOne =IsMOne;
674 cf->cfGreaterZero=GreaterZero;
675
676 cf->cfPower = Power;
677 cf->cfGetDenom = GetDenom;
678 cf->cfGetNumerator = GetNumerator;
679 cf->cfGcd = Gcd;
680 cf->cfExtGcd = ExtGcd;
681 cf->cfLcm = Lcm;
682 cf->cfDelete = Delete;
683 cf->cfSetMap = SetMap;
684 // default: cf->cfInpMult
685 // default: cf->cfInpAdd
686 cf->cfFarey =Farey;
687 cf->cfChineseRemainder=ChineseRemainder;
688 cf->cfParDeg = ParDeg;
689 cf->cfParameter = Parameter;
690 // cf->cfClearContent = ClearContent;
691 // cf->cfClearDenominators = ClearDenominators;
692 cf->convFactoryNSingN=ConvFactoryNSingN;
693 cf->convSingNFactoryN=ConvSingNFactoryN;
694 cf->cfWriteFd = WriteFd;
695 cf->cfReadFd = ReadFd;
696#ifdef LDEBUG
697 cf->cfDBTest = DBTest;
698#endif
699
700 cf->iNumberOfParameters = 1;
701 char **pn=(char**)omAlloc0(sizeof(char*));
702 pn[0]=omStrDup(pp);
703 cf->pParameterNames = (const char **)pn;
704 cf->has_simple_Inverse= FALSE;
705 cf->has_simple_Alloc= FALSE;
706 cf->is_field=FALSE;
707
708 return FALSE;
709}
#define FALSE
Definition auxiliary.h:97
CanonicalForm FACTORY_PUBLIC pp(const CanonicalForm &)
CanonicalForm pp ( const CanonicalForm & f )
Definition cf_gcd.cc:676
CanonicalForm cf
Definition cfModGcd.cc:4091
static number ExtGcd(number a, number b, number *s, number *t, const coeffs)
Definition flintcf_Q.cc:447
static void WriteShort(number a, const coeffs r)
Definition flintcf_Q.cc:233
static number Copy(number a, const coeffs)
Definition flintcf_Q.cc:215
static number ChineseRemainder(number *, number *, int, BOOLEAN, CFArray &, const coeffs)
Definition flintcf_Q.cc:500
static void Normalize(number &a, const coeffs)
Definition flintcf_Q.cc:373
static void SetChar(const coeffs)
Definition flintcf_Q.cc:53
static nMapFunc SetMap(const coeffs, const coeffs)
Definition flintcf_Q.cc:470
static number Farey(number, number, const coeffs)
Definition flintcf_Q.cc:495
static number GetDenom(number &n, const coeffs)
Definition flintcf_Q.cc:423
static const char * Read(const char *st, number *a, const coeffs r)
Definition flintcf_Q.cc:326
static BOOLEAN IsOne(number a, const coeffs)
Definition flintcf_Q.cc:389
char * CoeffName(const coeffs r)
Definition flintcf_Q.cc:601
static number ConvFactoryNSingN(const CanonicalForm, const coeffs)
Definition flintcf_Q.cc:591
static number InitMPZ(mpz_t i, const coeffs)
Definition flintcf_Q.cc:128
static int Size(number n, const coeffs)
Definition flintcf_Q.cc:139
static number Add(number a, number b, const coeffs)
Definition flintcf_Q.cc:71
static number Div(number a, number b, const coeffs)
Definition flintcf_Q.cc:78
static void WriteFd(number a, const ssiInfo *d, const coeffs)
Definition flintcf_Q.cc:516
static void Delete(number *a, const coeffs)
Definition flintcf_Q.cc:461
static number Parameter(const int, const coeffs)
Definition flintcf_Q.cc:509
static BOOLEAN DBTest(number, const char *, const int, const coeffs)
Definition flintcf_Q.cc:626
static void KillChar(coeffs cf)
Definition flintcf_Q.cc:631
static CanonicalForm ConvSingNFactoryN(number, BOOLEAN, const coeffs)
Definition flintcf_Q.cc:596
static number Init(long i, const coeffs)
Definition flintcf_Q.cc:121
static void MPZ(mpz_t result, number &n, const coeffs)
Definition flintcf_Q.cc:159
static number ReadFd(const ssiInfo *d, const coeffs)
Definition flintcf_Q.cc:561
static number ExactDiv(number a, number b, const coeffs)
Definition flintcf_Q.cc:100
static void Power(number a, int i, number *result, const coeffs)
Definition flintcf_Q.cc:416
static BOOLEAN IsMOne(number k, const coeffs)
Definition flintcf_Q.cc:393
static number Sub(number a, number b, const coeffs)
Definition flintcf_Q.cc:64
static number GetNumerator(number &n, const coeffs)
Definition flintcf_Q.cc:431
static BOOLEAN GreaterZero(number, const coeffs)
Definition flintcf_Q.cc:410
static number Gcd(number a, number b, const coeffs)
Definition flintcf_Q.cc:440
static BOOLEAN CoeffIsEqual(const coeffs r, n_coeffType n, void *)
Definition flintcf_Q.cc:49
static number Mult(number a, number b, const coeffs)
Definition flintcf_Q.cc:57
static number Invers(number a, const coeffs)
Definition flintcf_Q.cc:195
static number Lcm(number, number, const coeffs)
Definition flintcf_Q.cc:456
static int ParDeg(number x, const coeffs)
Definition flintcf_Q.cc:505
static BOOLEAN IsZero(number a, const coeffs)
Definition flintcf_Q.cc:385
static number Neg(number a, const coeffs)
Definition flintcf_Q.cc:190
static BOOLEAN Equal(number a, number b, const coeffs)
Definition flintcf_Q.cc:381
static long Int(number &n, const coeffs)
Definition flintcf_Q.cc:143
static bool Greater(mono_type m1, mono_type m2)
#define omStrDup(s)
#define omAlloc0(size)

◆ flintQInitCfByName()

coeffs flintQInitCfByName ( char * s,
n_coeffType n )

Definition at line 608 of file flintcf_Q.cc.

609{
610 const char start[]="flintQp[";
611 const int start_len=strlen(start);
612 if (strncmp(s,start,start_len)==0)
613 {
614 s+=start_len;
615 char st[10];
616 int l=sscanf(s,"%s",st);
617 if (l==1)
618 {
619 while (st[strlen(st)-1]==']') st[strlen(st)-1]='\0';
620 return nInitChar(n,(void*)st);
621 }
622 }
623 return NULL;
624}
int l
Definition cfEzgcd.cc:100
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
Definition numbers.cc:406
const CanonicalForm int s
Definition facAbsFact.cc:51
#define NULL
Definition omList.c:12