My Project
Data Structures | Functions
flintcf_Zn.h File Reference
#include "singularconfig.h"
#include "misc/auxiliary.h"

Go to the source code of this file.

Data Structures

struct  flintZn_struct
 

Functions

BOOLEAN flintZn_InitChar (coeffs cf, void *infoStruct)
 
coeffs flintZnInitCfByName (char *s, n_coeffType n)
 

Data Structure Documentation

◆ flintZn_struct

struct flintZn_struct

Definition at line 16 of file flintcf_Zn.h.

Data Fields
int ch
char * name

Function Documentation

◆ flintZn_InitChar()

BOOLEAN flintZn_InitChar ( coeffs  cf,
void *  infoStruct 
)

Definition at line 482 of file flintcf_Zn.cc.

483{
484 flintZn_struct *pp=(flintZn_struct*)infoStruct;
485 cf->ch=pp->ch;
486
487 cf->cfCoeffName = CoeffName;
488 cf->nCoeffIsEqual = CoeffIsEqual;
489 cf->cfKillChar = KillChar;
490 cf->cfSetChar = SetChar;
491 cf->cfMult = Mult;
492 cf->cfSub = Sub;
493 cf->cfAdd = Add;
494 cf->cfDiv = Div;
495 cf->cfExactDiv = ExactDiv; // ???
496 cf->cfInit = Init;
497 cf->cfInitMPZ = InitMPZ;
498 cf->cfSize = Size;
499 cf->cfInt = Int;
500 cf->cfMPZ = MPZ;
501 cf->cfInpNeg = Neg;
502 cf->cfInvers = Invers;
503 cf->cfCopy = Copy;
504 cf->cfRePart = Copy;
505 // default: cf->cfImPart = ndReturn0;
506 cf->cfWriteLong = WriteShort; //WriteLong;
507 cf->cfWriteShort = WriteShort;
508 cf->cfRead = Read;
509 cf->cfNormalize = Normalize;
510
511 //cf->cfDivComp=
512 //cf->cfIsUnit=
513 //cf->cfGetUnit=
514 //cf->cfDivBy=
515
516 cf->cfGreater=Greater;
517 cf->cfEqual =Equal;
518 cf->cfIsZero =IsZero;
519 cf->cfIsOne =IsOne;
520 cf->cfIsMOne =IsMOne;
521 cf->cfGreaterZero=GreaterZero;
522
523 cf->cfPower = Power;
524 //default: cf->cfGetDenom = GetDenom;
525 //default: cf->cfGetNumerator = GetNumerator;
526 cf->cfGcd = Gcd;
527 cf->cfExtGcd = ExtGcd;
528 cf->cfLcm = Lcm;
529 cf->cfDelete = Delete;
530 cf->cfSetMap = SetMap;
531 // default: cf->cfInpMult
532 // default: cf->cfInpAdd
533 cf->cfFarey =Farey;
534 cf->cfChineseRemainder=ChineseRemainder;
535 cf->cfParDeg = ParDeg;
536 cf->cfParameter = Parameter;
537 // cf->cfClearContent = ClearContent;
538 // cf->cfClearDenominators = ClearDenominators;
539 cf->convFactoryNSingN=ConvFactoryNSingN;
540 cf->convSingNFactoryN=ConvSingNFactoryN;
541 cf->cfWriteFd = WriteFd;
542 cf->cfReadFd = ReadFd;
543#ifdef LDEBUG
544 cf->cfDBTest = DBTest;
545#endif
546
547 cf->iNumberOfParameters = 1;
548 char **pn=(char**)omAlloc0(sizeof(char*));
549 pn[0]=(char*)omStrDup(pp->name);
550 cf->pParameterNames = (const char **)pn;
551 cf->has_simple_Inverse= FALSE;
552 cf->has_simple_Alloc= FALSE;
553 cf->is_field=FALSE;
554
555 return FALSE;
556}
#define FALSE
Definition: auxiliary.h:96
CanonicalForm FACTORY_PUBLIC pp(const CanonicalForm &)
CanonicalForm pp ( const CanonicalForm & f )
Definition: cf_gcd.cc:676
CanonicalForm cf
Definition: cfModGcd.cc:4083
static void WriteShort(number a, const coeffs r)
Definition: flintcf_Zn.cc:215
static char * CoeffName(const coeffs r)
Definition: flintcf_Zn.cc:422
static number Lcm(number a, number b, const coeffs r)
Definition: flintcf_Zn.cc:344
static number ConvFactoryNSingN(const CanonicalForm n, const coeffs r)
Definition: flintcf_Zn.cc:412
static void MPZ(mpz_t result, number &n, const coeffs r)
Definition: flintcf_Zn.cc:159
static number Neg(number a, const coeffs r)
Definition: flintcf_Zn.cc:169
static BOOLEAN Greater(number a, number b, const coeffs r)
Definition: flintcf_Zn.cc:282
static const char * Read(const char *st, number *a, const coeffs r)
Definition: flintcf_Zn.cc:245
static number Mult(number a, number b, const coeffs c)
Definition: flintcf_Zn.cc:63
static number Sub(number a, number b, const coeffs c)
Definition: flintcf_Zn.cc:70
static long Int(number &n, const coeffs r)
Definition: flintcf_Zn.cc:149
static number Init(long i, const coeffs r)
Definition: flintcf_Zn.cc:125
static BOOLEAN CoeffIsEqual(const coeffs r, n_coeffType n, void *parameter)
Definition: flintcf_Zn.cc:47
static void Normalize(number &a, const coeffs r)
Definition: flintcf_Zn.cc:279
static number Gcd(number a, number b, const coeffs r)
Definition: flintcf_Zn.cc:328
static number ExtGcd(number a, number b, number *s, number *t, const coeffs r)
Definition: flintcf_Zn.cc:335
static void WriteFd(number a, const ssiInfo *d, const coeffs)
Definition: flintcf_Zn.cc:449
static BOOLEAN GreaterZero(number k, const coeffs r)
Definition: flintcf_Zn.cc:315
static BOOLEAN DBTest(number a, const char *f, const int l, const coeffs r)
Definition: flintcf_Zn.cc:477
static void Delete(number *a, const coeffs r)
Definition: flintcf_Zn.cc:349
static number ReadFd(const ssiInfo *d, const coeffs r)
Definition: flintcf_Zn.cc:462
static CanonicalForm ConvSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)
Definition: flintcf_Zn.cc:417
static void KillChar(coeffs cf)
Definition: flintcf_Zn.cc:54
static number Copy(number a, const coeffs r)
Definition: flintcf_Zn.cc:197
static number InitMPZ(mpz_t i, const coeffs r)
Definition: flintcf_Zn.cc:134
static number Div(number a, number b, const coeffs c)
Definition: flintcf_Zn.cc:84
static void Power(number a, int i, number *result, const coeffs r)
Definition: flintcf_Zn.cc:321
static BOOLEAN Equal(number a, number b, const coeffs r)
Definition: flintcf_Zn.cc:297
static number Add(number a, number b, const coeffs c)
Definition: flintcf_Zn.cc:77
static BOOLEAN IsOne(number a, const coeffs r)
Definition: flintcf_Zn.cc:305
static number Farey(number p, number n, const coeffs)
Definition: flintcf_Zn.cc:389
static BOOLEAN IsZero(number a, const coeffs r)
Definition: flintcf_Zn.cc:301
static int ParDeg(number x, const coeffs r)
Definition: flintcf_Zn.cc:399
static nMapFunc SetMap(const coeffs src, const coeffs dst)
Definition: flintcf_Zn.cc:358
static number ChineseRemainder(number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs)
Definition: flintcf_Zn.cc:394
static BOOLEAN IsMOne(number k, const coeffs r)
Definition: flintcf_Zn.cc:309
static void SetChar(const coeffs r)
Definition: flintcf_Zn.cc:59
static number Parameter(const int i, const coeffs r)
Definition: flintcf_Zn.cc:403
static number Invers(number a, const coeffs r)
Definition: flintcf_Zn.cc:174
static int Size(number n, const coeffs r)
Definition: flintcf_Zn.cc:145
static number ExactDiv(number a, number b, const coeffs c)
Definition: flintcf_Zn.cc:106
#define omStrDup(s)
Definition: omAllocDecl.h:263
#define omAlloc0(size)
Definition: omAllocDecl.h:211

◆ flintZnInitCfByName()

coeffs flintZnInitCfByName ( char *  s,
n_coeffType  n 
)

Definition at line 428 of file flintcf_Zn.cc.

429{
430 const char start[]="flint:Z/";
431 const int start_len=strlen(start);
432 if (strncmp(s,start,start_len)==0)
433 {
434 s+=start_len;
435 int p;
436 char st[10];
437 int l=sscanf(s,"%d[%s",&p,st);
438 if (l==2)
439 {
441 info.ch=p;
442 while (st[strlen(st)-1]==']') st[strlen(st)-1]='\0';
443 info.name=st;
444 return nInitChar(n,(void*)&info);
445 }
446 }
447 return NULL;
448}
int l
Definition: cfEzgcd.cc:100
int p
Definition: cfModGcd.cc:4078
coeffs nInitChar(n_coeffType t, void *parameter)
one-time initialisations for new coeffs in case of an error return NULL
Definition: numbers.cc:354
const CanonicalForm int s
Definition: facAbsFact.cc:51
const ExtensionInfo & info
< [in] sqrfree poly
#define NULL
Definition: omList.c:12