My Project
Loading...
Searching...
No Matches
coeffs Struct Reference

#include <coeffs.h>

Data Fields

coeffs next
int ref
n_coeffRep rep
n_coeffType type
int factoryVarOffset
 how many variables of factory are already used by this coeff
BOOLEAN has_simple_Alloc
 TRUE, if nDelete/nCopy are dummies.
BOOLEAN has_simple_Inverse
 TRUE, if std should make polynomials monic (if nInvers is cheap) if false, then a gcd routine is used for a content computation.
BOOLEAN is_field
 TRUE, if cf is a field.
BOOLEAN is_domain
 TRUE, if cf is a domain.
BOOLEAN(*) nCoeffIsEqual (const coeffs r, n_coeffType n, void *parameter)
void(*) cfCoeffWrite (const coeffs r, BOOLEAN details)
 output of coeff description via Print
char *(*) cfCoeffString (const coeffs r)
 string output of coeff description
char *(*) cfCoeffName (const coeffs r)
 default name of cf, should substitute cfCoeffWrite, cfCoeffString
void(*) cfKillChar (coeffs r)
void(*) cfSetChar (const coeffs r)
numberfunc cfMult
numberfunc cfSub
numberfunc cfAdd
numberfunc cfDiv
numberfunc cfIntMod
numberfunc cfExactDiv
number(*) cfInit (long i, const coeffs r)
 init with an integer
number(*) cfInitMPZ (mpz_t i, const coeffs r)
 init with a GMP integer
int(*) cfSize (number n, const coeffs r)
 how complicated, (0) => 0, or positive
long(*) cfInt (number &n, const coeffs r)
 conversion to long, 0 if impossible
void(*) cfMPZ (mpz_t result, number &n, const coeffs r)
 Converts a (integer) number n into a GMP number, 0 if impossible.
number(*) cfInpNeg (number a, const coeffs r)
 changes argument inline: a:= -a return -a! (no copy is returned) the result should be assigned to the original argument: e.g. a = n_InpNeg(a,r)
number(*) cfInvers (number a, const coeffs r)
 return 1/a
number(*) cfCopy (number a, const coeffs r)
 return a copy of a
number(*) cfRePart (number a, const coeffs r)
number(*) cfImPart (number a, const coeffs r)
void(*) cfWriteLong (number a, const coeffs r)
 print a given number (long format)
void(*) cfWriteShort (number a, const coeffs r)
 print a given number in a shorter way, if possible e.g. in K(a): a2 instead of a^2
const char *(*) cfRead (const char *s, number *a, const coeffs r)
void(*) cfNormalize (number &a, const coeffs r)
BOOLEAN(*) cfGreater (number a, number b, const coeffs r)
BOOLEAN(*) cfEqual (number a, number b, const coeffs r)
 tests
BOOLEAN(*) cfIsZero (number a, const coeffs r)
BOOLEAN(*) cfIsOne (number a, const coeffs r)
BOOLEAN(*) cfIsMOne (number a, const coeffs r)
BOOLEAN(*) cfGreaterZero (number a, const coeffs r)
void(*) cfPower (number a, int i, number *result, const coeffs r)
number(*) cfGetDenom (number &n, const coeffs r)
number(*) cfGetNumerator (number &n, const coeffs r)
number(*) cfGcd (number a, number b, const coeffs r)
number(*) cfSubringGcd (number a, number b, const coeffs r)
number(*) cfExtGcd (number a, number b, number *s, number *t, const coeffs r)
number(*) cfXExtGcd (number a, number b, number *s, number *t, number *u, number *v, const coeffs r)
number(*) cfEucNorm (number a, const coeffs r)
number(*) cfAnn (number a, const coeffs r)
number(*) cfQuotRem (number a, number b, number *rem, const coeffs r)
number(*) cfLcm (number a, number b, const coeffs r)
number(*) cfNormalizeHelper (number a, number b, const coeffs r)
void(*) cfDelete (number *a, const coeffs r)
nMapFunc(*) cfSetMap (const coeffs src, const coeffs dst)
void(*) cfWriteFd (number a, const ssiInfo *f, const coeffs r)
number(*) cfReadFd (const ssiInfo *f, const coeffs r)
void(*) cfInpMult (number &a, number b, const coeffs r)
 Inplace: a *= b.
void(*) cfInpAdd (number &a, number b, const coeffs r)
 Inplace: a += b.
number(*) cfFarey (number p, number n, const coeffs)
 rational reconstruction: "best" rational a/b with a/b = p mod n
number(*) cfChineseRemainder (number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs)
 chinese remainder returns X with X mod q[i]=x[i], i=0..rl-1
int(*) cfParDeg (number x, const coeffs r)
 degree for coefficients: -1 for 0, 0 for "constants", ...
number(*) cfParameter (const int i, const coeffs r)
 create i^th parameter or NULL if not possible
number(*) cfRandom (siRandProc p, number p1, number p2, const coeffs cf)
 a function returning random elements
nCoeffsEnumeratorFunc cfClearContent
 function pointer behind n_ClearContent
nCoeffsEnumeratorFunc cfClearDenominators
 function pointer behind n_ClearDenominators
number(*) convFactoryNSingN (const CanonicalForm n, const coeffs r)
 conversion to CanonicalForm(factory) to number
CanonicalForm(*) convSingNFactoryN (number n, BOOLEAN setChar, const coeffs r)
int iNumberOfParameters
 Number of Parameters in the coeffs (default 0).
char const ** pParameterNames
 array containing the names of Parameters (default NULL)
ring extRing
int ch
short float_len
short float_len2
int m_nfCharQ
 the number of elements: q
int m_nfM1
 representation of -1
int m_nfCharP
 the characteristic: p
int m_nfCharQ1
 q-1
unsigned short * m_nfPlus1Table
int * m_nfMinPoly
unsigned short * npInvTable
unsigned short * npExpTable
unsigned short * npLogTable
int npPminus1M
 characteristic - 1
int(*) cfDivComp (number a, number b, const coeffs r)
BOOLEAN(*) cfIsUnit (number a, const coeffs r)
number(*) cfGetUnit (number a, const coeffs r)
BOOLEAN(*) cfDivBy (number a, number b, const coeffs r)
 test if b divides a cfDivBy(zero,b,r) is true, if b is a zero divisor
mpz_ptr modBase
unsigned long modExponent
mpz_ptr modNumber
unsigned long mod2mMask
coeffs(*) cfQuot1 (number c, const coeffs r)
void * data
number(*) cfReadFd_S (char **s, const coeffs r)
void(*) cfWriteFd_S (number a, const coeffs r)
BOOLEAN(*) cfDBTest (number a, const char *f, const int l, const coeffs r)
 Test: is "a" a correct number?

Detailed Description

Definition at line 129 of file coeffs.h.

Field Documentation

◆ cfAdd

numberfunc coeffs::cfAdd

Definition at line 182 of file coeffs.h.

◆ cfAnn

number(*) coeffs::cfAnn(number a, const coeffs r)

Definition at line 268 of file coeffs.h.

◆ cfChineseRemainder

number(*) coeffs::cfChineseRemainder(number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs)

chinese remainder returns X with X mod q[i]=x[i], i=0..rl-1

Definition at line 304 of file coeffs.h.

◆ cfClearContent

nCoeffsEnumeratorFunc coeffs::cfClearContent

function pointer behind n_ClearContent

Definition at line 316 of file coeffs.h.

◆ cfClearDenominators

nCoeffsEnumeratorFunc coeffs::cfClearDenominators

function pointer behind n_ClearDenominators

Definition at line 319 of file coeffs.h.

◆ cfCoeffName

char *(*) coeffs::cfCoeffName(const coeffs r)

default name of cf, should substitute cfCoeffWrite, cfCoeffString

Definition at line 161 of file coeffs.h.

◆ cfCoeffString

char *(*) coeffs::cfCoeffString(const coeffs r)

string output of coeff description

Definition at line 158 of file coeffs.h.

◆ cfCoeffWrite

void(*) coeffs::cfCoeffWrite(const coeffs r, BOOLEAN details)

output of coeff description via Print

Definition at line 155 of file coeffs.h.

◆ cfCopy

number(*) coeffs::cfCopy(number a, const coeffs r)

return a copy of a

Definition at line 206 of file coeffs.h.

◆ cfDBTest

BOOLEAN(*) coeffs::cfDBTest(number a, const char *f, const int l, const coeffs r)

Test: is "a" a correct number?

Definition at line 425 of file coeffs.h.

◆ cfDelete

void(*) coeffs::cfDelete(number *a, const coeffs r)

Definition at line 279 of file coeffs.h.

◆ cfDiv

numberfunc coeffs::cfDiv

Definition at line 182 of file coeffs.h.

◆ cfDivBy

BOOLEAN(*) coeffs::cfDivBy(number a, number b, const coeffs r)

test if b divides a cfDivBy(zero,b,r) is true, if b is a zero divisor

Definition at line 389 of file coeffs.h.

◆ cfDivComp

int(*) coeffs::cfDivComp(number a, number b, const coeffs r)

Definition at line 384 of file coeffs.h.

◆ cfEqual

BOOLEAN(*) coeffs::cfEqual(number a, number b, const coeffs r)

tests

Definition at line 232 of file coeffs.h.

◆ cfEucNorm

number(*) coeffs::cfEucNorm(number a, const coeffs r)

Definition at line 265 of file coeffs.h.

◆ cfExactDiv

numberfunc coeffs::cfExactDiv

Definition at line 182 of file coeffs.h.

◆ cfExtGcd

number(*) coeffs::cfExtGcd(number a, number b, number *s, number *t, const coeffs r)

Definition at line 255 of file coeffs.h.

◆ cfFarey

number(*) coeffs::cfFarey(number p, number n, const coeffs)

rational reconstruction: "best" rational a/b with a/b = p mod n

Definition at line 298 of file coeffs.h.

◆ cfGcd

number(*) coeffs::cfGcd(number a, number b, const coeffs r)

Definition at line 253 of file coeffs.h.

◆ cfGetDenom

number(*) coeffs::cfGetDenom(number &n, const coeffs r)

Definition at line 247 of file coeffs.h.

◆ cfGetNumerator

number(*) coeffs::cfGetNumerator(number &n, const coeffs r)

Definition at line 248 of file coeffs.h.

◆ cfGetUnit

number(*) coeffs::cfGetUnit(number a, const coeffs r)

Definition at line 386 of file coeffs.h.

◆ cfGreater

BOOLEAN(*) coeffs::cfGreater(number a, number b, const coeffs r)

Definition at line 232 of file coeffs.h.

◆ cfGreaterZero

BOOLEAN(*) coeffs::cfGreaterZero(number a, const coeffs r)

Definition at line 232 of file coeffs.h.

◆ cfImPart

number(*) coeffs::cfImPart(number a, const coeffs r)

Definition at line 208 of file coeffs.h.

◆ cfInit

number(*) coeffs::cfInit(long i, const coeffs r)

init with an integer

Definition at line 185 of file coeffs.h.

◆ cfInitMPZ

number(*) coeffs::cfInitMPZ(mpz_t i, const coeffs r)

init with a GMP integer

Definition at line 188 of file coeffs.h.

◆ cfInpAdd

void(*) coeffs::cfInpAdd(number &a, number b, const coeffs r)

Inplace: a += b.

Definition at line 291 of file coeffs.h.

◆ cfInpMult

void(*) coeffs::cfInpMult(number &a, number b, const coeffs r)

Inplace: a *= b.

Definition at line 288 of file coeffs.h.

◆ cfInpNeg

number(*) coeffs::cfInpNeg(number a, const coeffs r)

changes argument inline: a:= -a return -a! (no copy is returned) the result should be assigned to the original argument: e.g. a = n_InpNeg(a,r)

Definition at line 202 of file coeffs.h.

◆ cfInt

long(*) coeffs::cfInt(number &n, const coeffs r)

conversion to long, 0 if impossible

Definition at line 194 of file coeffs.h.

◆ cfIntMod

numberfunc coeffs::cfIntMod

Definition at line 182 of file coeffs.h.

◆ cfInvers

number(*) coeffs::cfInvers(number a, const coeffs r)

return 1/a

Definition at line 204 of file coeffs.h.

◆ cfIsMOne

BOOLEAN(*) coeffs::cfIsMOne(number a, const coeffs r)

Definition at line 232 of file coeffs.h.

◆ cfIsOne

BOOLEAN(*) coeffs::cfIsOne(number a, const coeffs r)

Definition at line 232 of file coeffs.h.

◆ cfIsUnit

BOOLEAN(*) coeffs::cfIsUnit(number a, const coeffs r)

Definition at line 385 of file coeffs.h.

◆ cfIsZero

BOOLEAN(*) coeffs::cfIsZero(number a, const coeffs r)

Definition at line 232 of file coeffs.h.

◆ cfKillChar

void(*) coeffs::cfKillChar(coeffs r)

Definition at line 166 of file coeffs.h.

◆ cfLcm

number(*) coeffs::cfLcm(number a, number b, const coeffs r)

Definition at line 277 of file coeffs.h.

◆ cfMPZ

void(*) coeffs::cfMPZ(mpz_t result, number &n, const coeffs r)

Converts a (integer) number n into a GMP number, 0 if impossible.

Definition at line 197 of file coeffs.h.

◆ cfMult

numberfunc coeffs::cfMult

Definition at line 182 of file coeffs.h.

◆ cfNormalize

void(*) coeffs::cfNormalize(number &a, const coeffs r)

Definition at line 230 of file coeffs.h.

◆ cfNormalizeHelper

number(*) coeffs::cfNormalizeHelper(number a, number b, const coeffs r)

Definition at line 278 of file coeffs.h.

◆ cfParameter

number(*) coeffs::cfParameter(const int i, const coeffs r)

create i^th parameter or NULL if not possible

Definition at line 310 of file coeffs.h.

◆ cfParDeg

int(*) coeffs::cfParDeg(number x, const coeffs r)

degree for coefficients: -1 for 0, 0 for "constants", ...

Definition at line 307 of file coeffs.h.

◆ cfPower

void(*) coeffs::cfPower(number a, int i, number *result, const coeffs r)

Definition at line 246 of file coeffs.h.

◆ cfQuot1

coeffs(*) coeffs::cfQuot1(number c, const coeffs r)

Definition at line 414 of file coeffs.h.

◆ cfQuotRem

number(*) coeffs::cfQuotRem(number a, number b, number *rem, const coeffs r)

Definition at line 276 of file coeffs.h.

◆ cfRandom

number(*) coeffs::cfRandom(siRandProc p, number p1, number p2, const coeffs cf)

a function returning random elements

Definition at line 313 of file coeffs.h.

◆ cfRead

const char *(*) coeffs::cfRead(const char *s, number *a, const coeffs r)

Definition at line 228 of file coeffs.h.

◆ cfReadFd

number(*) coeffs::cfReadFd(const ssiInfo *f, const coeffs r)

Definition at line 285 of file coeffs.h.

◆ cfReadFd_S

number(*) coeffs::cfReadFd_S(char **s, const coeffs r)

Definition at line 419 of file coeffs.h.

◆ cfRePart

number(*) coeffs::cfRePart(number a, const coeffs r)

Definition at line 207 of file coeffs.h.

◆ cfSetChar

void(*) coeffs::cfSetChar(const coeffs r)

Definition at line 168 of file coeffs.h.

◆ cfSetMap

nMapFunc(*) coeffs::cfSetMap(const coeffs src, const coeffs dst)

Definition at line 282 of file coeffs.h.

◆ cfSize

int(*) coeffs::cfSize(number n, const coeffs r)

how complicated, (0) => 0, or positive

Definition at line 191 of file coeffs.h.

◆ cfSub

numberfunc coeffs::cfSub

Definition at line 182 of file coeffs.h.

◆ cfSubringGcd

number(*) coeffs::cfSubringGcd(number a, number b, const coeffs r)

Definition at line 254 of file coeffs.h.

◆ cfWriteFd

void(*) coeffs::cfWriteFd(number a, const ssiInfo *f, const coeffs r)

Definition at line 284 of file coeffs.h.

◆ cfWriteFd_S

void(*) coeffs::cfWriteFd_S(number a, const coeffs r)

Definition at line 420 of file coeffs.h.

◆ cfWriteLong

void(*) coeffs::cfWriteLong(number a, const coeffs r)

print a given number (long format)

Definition at line 211 of file coeffs.h.

◆ cfWriteShort

void(*) coeffs::cfWriteShort(number a, const coeffs r)

print a given number in a shorter way, if possible e.g. in K(a): a2 instead of a^2

Definition at line 215 of file coeffs.h.

◆ cfXExtGcd

number(*) coeffs::cfXExtGcd(number a, number b, number *s, number *t, number *u, number *v, const coeffs r)

Definition at line 263 of file coeffs.h.

◆ ch

int coeffs::ch

Definition at line 347 of file coeffs.h.

◆ convFactoryNSingN

number(*) coeffs::convFactoryNSingN(const CanonicalForm n, const coeffs r)

conversion to CanonicalForm(factory) to number

Definition at line 322 of file coeffs.h.

◆ convSingNFactoryN

CanonicalForm(*) coeffs::convSingNFactoryN(number n, BOOLEAN setChar, const coeffs r)

Definition at line 323 of file coeffs.h.

◆ data

void* coeffs::data

Definition at line 418 of file coeffs.h.

◆ extRing

ring coeffs::extRing

Definition at line 341 of file coeffs.h.

◆ factoryVarOffset

int coeffs::factoryVarOffset

how many variables of factory are already used by this coeff

Definition at line 137 of file coeffs.h.

◆ float_len

short coeffs::float_len

Definition at line 359 of file coeffs.h.

◆ float_len2

short coeffs::float_len2

Definition at line 360 of file coeffs.h.

◆ has_simple_Alloc

BOOLEAN coeffs::has_simple_Alloc

TRUE, if nDelete/nCopy are dummies.

Definition at line 141 of file coeffs.h.

◆ has_simple_Inverse

BOOLEAN coeffs::has_simple_Inverse

TRUE, if std should make polynomials monic (if nInvers is cheap) if false, then a gcd routine is used for a content computation.

Definition at line 144 of file coeffs.h.

◆ iNumberOfParameters

int coeffs::iNumberOfParameters

Number of Parameters in the coeffs (default 0).

Definition at line 326 of file coeffs.h.

◆ is_domain

BOOLEAN coeffs::is_domain

TRUE, if cf is a domain.

Definition at line 149 of file coeffs.h.

◆ is_field

BOOLEAN coeffs::is_field

TRUE, if cf is a field.

Definition at line 147 of file coeffs.h.

◆ m_nfCharP

int coeffs::m_nfCharP

the characteristic: p

Definition at line 371 of file coeffs.h.

◆ m_nfCharQ

int coeffs::m_nfCharQ

the number of elements: q

Definition at line 369 of file coeffs.h.

◆ m_nfCharQ1

int coeffs::m_nfCharQ1

q-1

Definition at line 372 of file coeffs.h.

◆ m_nfM1

int coeffs::m_nfM1

representation of -1

Definition at line 370 of file coeffs.h.

◆ m_nfMinPoly

int* coeffs::m_nfMinPoly

Definition at line 374 of file coeffs.h.

◆ m_nfPlus1Table

unsigned short* coeffs::m_nfPlus1Table

Definition at line 373 of file coeffs.h.

◆ mod2mMask

unsigned long coeffs::mod2mMask

Definition at line 412 of file coeffs.h.

◆ modBase

mpz_ptr coeffs::modBase

Definition at line 409 of file coeffs.h.

◆ modExponent

unsigned long coeffs::modExponent

Definition at line 410 of file coeffs.h.

◆ modNumber

mpz_ptr coeffs::modNumber

Definition at line 411 of file coeffs.h.

◆ nCoeffIsEqual

BOOLEAN(*) coeffs::nCoeffIsEqual(const coeffs r, n_coeffType n, void *parameter)

Definition at line 152 of file coeffs.h.

◆ next

coeffs coeffs::next

Definition at line 132 of file coeffs.h.

◆ npExpTable

unsigned short* coeffs::npExpTable

Definition at line 379 of file coeffs.h.

◆ npInvTable

unsigned short* coeffs::npInvTable

Definition at line 378 of file coeffs.h.

◆ npLogTable

unsigned short* coeffs::npLogTable

Definition at line 380 of file coeffs.h.

◆ npPminus1M

int coeffs::npPminus1M

characteristic - 1

Definition at line 382 of file coeffs.h.

◆ pParameterNames

char const** coeffs::pParameterNames

array containing the names of Parameters (default NULL)

Definition at line 329 of file coeffs.h.

◆ ref

int coeffs::ref

Definition at line 133 of file coeffs.h.

◆ rep

n_coeffRep coeffs::rep

Definition at line 134 of file coeffs.h.

◆ type

n_coeffType coeffs::type

Definition at line 135 of file coeffs.h.


The documentation for this struct was generated from the following file: