Initialize the coeffs object.
2531 cf->factoryVarOffset = R->cf->factoryVarOffset +
rVar(R);
2545 cf->cfInpNeg =
ntNeg;
2550 cf->cfExactDiv =
ntDiv;
2567 cf->cfSubringGcd =
ntGcd;
2583 cf->iNumberOfParameters =
rVar(R);
2584 cf->pParameterNames = (
const char**)R->names;
2586 cf->has_simple_Inverse=
FALSE;
long ntInt(number &a, const coeffs cf)
number ntNormalizeHelper(number a, number b, const coeffs cf)
number ntImPart(number a, const coeffs cf)
void ntWriteLong(number a, const coeffs cf)
void ntDelete(number *a, const coeffs cf)
number ntDiv(number a, number b, const coeffs cf)
BOOLEAN ntIsMOne(number a, const coeffs cf)
number ntMult(number a, number b, const coeffs cf)
number ntSub(number a, number b, const coeffs cf)
static short rVar(const ring r)
#define rVar(r) (r->N)
int ntSize(number a, const coeffs cf)
BOOLEAN ntIsZero(number a, const coeffs cf)
void ntWriteShort(number a, const coeffs cf)
BOOLEAN ntDBTest(number a, const char *f, const int l, const coeffs r)
(fraction), see transext.h
nMapFunc ntSetMap(const coeffs src, const coeffs dst)
Get a mapping function from src into the domain of this type (n_transExt)
static FORCE_INLINE BOOLEAN nCoeff_is_Q(const coeffs r)
char * naCoeffString(const coeffs r)
static BOOLEAN rCanShortOut(const ring r)
BOOLEAN ntIsOne(number a, const coeffs cf)
void ntNormalize(number &a, const coeffs cf)
number ntInvers(number a, const coeffs cf)
BOOLEAN ntGreater(number a, number b, const coeffs cf)
static int ntParDeg(number a, const coeffs cf)
const char * ntRead(const char *s, number *a, const coeffs cf)
static void ntClearDenominators(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
CanonicalForm ntConvSingNFactoryN(number n, BOOLEAN, const coeffs cf)
number ntInit(long i, const coeffs cf)
number ntFarey(number p, number n, const coeffs cf)
number ntGetDenom(number &a, const coeffs cf)
TODO: normalization of a!?
static const n_coeffType ID
Our own type!
number ntNeg(number a, const coeffs cf)
this is in-place, modifies a
static BOOLEAN ntCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
struct for passing initialization parameters to naInitChar
BOOLEAN ntGreaterZero(number a, const coeffs cf)
forward declarations
number ntChineseRemainder(number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs cf)
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
number ntCopy(number a, const coeffs cf)
static void ntClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
number ntAdd(number a, number b, const coeffs cf)
static number ntParameter(const int iParameter, const coeffs cf)
return the specified parameter as a number in the given trans.ext.
BOOLEAN ntEqual(number a, number b, const coeffs cf)
void ntPower(number a, int exp, number *b, const coeffs cf)
void ntKillChar(coeffs cf)
number ntConvFactoryNSingN(const CanonicalForm n, const coeffs cf)
number ntGetNumerator(number &a, const coeffs cf)
TODO: normalization of a!?
number ntGcd(number a, number b, const coeffs cf)
void ntCoeffWrite(const coeffs cf, BOOLEAN details)