 |
My Project
UNKNOWN_GIT_VERSION
|
Go to the source code of this file.
◆ TransExtInfo
struct for passing initialization parameters to naInitChar
Definition at line 88 of file transext.h.
◆ gcd_over_Q()
poly gcd_over_Q |
( |
poly |
f, |
|
|
poly |
g, |
|
|
const ring |
r |
|
) |
| |
helper routine for calling singclap_gcd_r
Definition at line 276 of file transext.cc.
◆ ntDiff()
Definition at line 898 of file transext.cc.
910 fraction t = (fraction) d;
913 WerrorS(
"expected differentiation by a variable");
919 WerrorS(
"expected differentiation by a variable");
925 fraction
fa = (fraction)a;
◆ ntInitChar()
Initialize the coeffs object.
Definition at line 2516 of file transext.cc.
2544 cf->factoryVarOffset =
R->cf->factoryVarOffset +
rVar(
R);
2597 cf->iNumberOfParameters =
rVar(
R);
2598 cf->pParameterNames = (
const char**)
R->names;
2600 cf->has_simple_Inverse=
FALSE;
◆ ntIsParam()
int ntIsParam |
( |
number |
, |
|
|
const |
coeffs |
|
) |
| |
if m == var(i)/1 => return i,
Definition at line 2213 of file transext.cc.
2218 const ring
R =
cf->extRing;
2221 fraction
f = (fraction)
m;
2223 if( DEN(
f) !=
NULL )
◆ ntSetMap()
Get a mapping function from src into the domain of this type (n_transExt)
Q or Z --> Q(T)
Z --> K(T)
Z/p --> Q(T)
Q --> Z/p(T)
Z/p --> Z/p(T)
Z/u --> Z/p(T)
Z/p --> Z/p(T)
K(T') --> K(T)
K(T') --> K'(T)
K(T') --> K(T)
K(T') --> K'(T)
default
Definition at line 2075 of file transext.cc.
2100 if (src->ch == dst->ch)
return ntMapPP;
2105 if (mpz_cmp(src->modNumber,bDst->modNumber)==0)
return ntMapPP;
2108 if (
h != 1)
return NULL;
2116 if (
rVar(src->extRing) >
rVar(dst->extRing))
2119 for (
int i = 0;
i <
rVar(src->extRing);
i++)
2125 if (src->extRing->cf==dst->extRing->cf)
2132 if (src->extRing->cf==dst->extRing->cf)
static FORCE_INLINE n_coeffType getCoeffType(const coeffs r)
Returns the type of coeffs domain.
@ n_rep_gap_rat
(number), see longrat.h
static number ntGenAlg(number a, const coeffs cf, const coeffs dst)
static number ntAdd(number a, number b, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Zp(const coeffs r)
struct for passing initialization parameters to naInitChar
static number ntNormalizeHelper(number a, number b, const coeffs cf)
static BOOLEAN ntGreater(number a, number b, const coeffs cf)
static number ntMult(number a, number b, const coeffs cf)
static BOOLEAN rCanShortOut(const ring r)
char * naCoeffName(const coeffs r)
static number ntInvers(number a, const coeffs cf)
static number ntNeg(number a, const coeffs cf)
this is in-place, modifies a
static number ntMapUP(number a, const coeffs src, const coeffs dst)
int p_Var(poly m, const ring r)
static coeffs nCoeff_bottom(const coeffs r, int &height)
static int ntParDeg(number a, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Q_or_BI(const coeffs r)
static void ntCoeffWrite(const coeffs cf, BOOLEAN details)
number ndCopyMap(number a, const coeffs aRing, const coeffs r)
static number ntDiv(number a, number b, const coeffs cf)
static CanonicalForm ntConvSingNFactoryN(number n, BOOLEAN, const coeffs cf)
static void ntNormalize(number &a, const coeffs cf)
static number ntChineseRemainder(number *x, number *q, int rl, BOOLEAN, CFArray &inv_cache, const coeffs cf)
static void ntClearContent(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
static number ntCopyAlg(number a, const coeffs cf, const coeffs dst)
static number ntGenMap(number a, const coeffs cf, const coeffs dst)
static BOOLEAN ntIsOne(number a, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Q(const coeffs r)
@ n_rep_rat_fct
(fraction), see transext.h
static BOOLEAN ntEqual(number a, number b, const coeffs cf)
static poly p_Copy(poly p, const ring r)
returns a copy of p
static short rVar(const ring r)
#define rVar(r) (r->N)
static number ntMap0P(number a, const coeffs src, const coeffs dst)
poly p_Sub(poly p1, poly p2, const ring r)
static number ntMapPP(number a, const coeffs src, const coeffs dst)
static void ntClearDenominators(ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf)
static BOOLEAN ntCoeffIsEqual(const coeffs cf, n_coeffType n, void *param)
static number ntCopyMap(number a, const coeffs cf, const coeffs dst)
static char * rRingVar(short i, const ring r)
static number ntSub(number a, number b, const coeffs cf)
static number ntGetNumerator(number &a, const coeffs cf)
TODO: normalization of a!?
static poly pp_Mult_qq(poly p, poly q, const ring r)
BOOLEAN fa(leftv res, leftv args)
poly p_Cleardenom(poly p, const ring r)
char * naCoeffString(const coeffs r)
static number ntConvFactoryNSingN(const CanonicalForm n, const coeffs cf)
static number ntGcd(number a, number b, const coeffs cf)
static BOOLEAN ntIsZero(number a, const coeffs cf)
static number ntFarey(number p, number n, const coeffs cf)
@ n_transExt
used for all transcendental extensions, i.e., the top-most extension in an extension tower is transce...
static void ntWriteLong(number a, const coeffs cf)
static number ntMapP0(number a, const coeffs src, const coeffs dst)
number ntInit(long i, const coeffs cf)
static void p_Delete(poly *p, const ring r)
static number ntGetDenom(number &a, const coeffs cf)
TODO: normalization of a!?
static BOOLEAN ntDBTest(number a, const char *f, const int l, const coeffs r)
#define DIFF_COMPLEXITY
complexity increase due to * and /
poly singclap_gcd_r(poly f, poly g, const ring r)
static void ntDelete(number *a, const coeffs cf)
static number ntParameter(const int iParameter, const coeffs cf)
return the specified parameter as a number in the given trans.ext.
void WerrorS(const char *s)
static void ntPower(number a, int exp, number *b, const coeffs cf)
static number ntMap00(number a, const coeffs src, const coeffs dst)
static const char * ntRead(const char *s, number *a, const coeffs cf)
static FORCE_INLINE BOOLEAN nCoeff_is_Zn(const coeffs r)
static number ntMapZ0(number a, const coeffs src, const coeffs dst)
static long ntInt(number &a, const coeffs cf)
static void ntKillChar(coeffs cf)
static BOOLEAN ntIsMOne(number a, const coeffs cf)
static poly p_Mult_q(poly p, poly q, const ring r)
static void heuristicGcdCancellation(number a, const coeffs cf)
forward declarations
#define omFreeBin(addr, bin)
static void ntWriteShort(number a, const coeffs cf)
static BOOLEAN ntGreaterZero(number a, const coeffs cf)
static number ntCopy(number a, const coeffs cf)
nMapFunc ntSetMap(const coeffs src, const coeffs dst)
Get a mapping function from src into the domain of this type (n_transExt)
static int ntSize(number a, const coeffs cf)
poly p_Diff(poly a, int k, const ring r)
@ n_rep_gap_gmp
(), see rinteger.h, new impl.