![]() |
#include <misc/auxiliary.h>
#include <omalloc/omalloc.h>
#include <factory/factory.h>
#include <reporter/reporter.h>
#include <coeffs/coeffs.h>
#include <coeffs/numbers.h>
#include <coeffs/longrat.h>
#include <polys/monomials/ring.h>
#include <polys/monomials/p_polys.h>
#include <polys/simpleideals.h>
#include <polys/clapsing.h>
#include <polys/clapconv.h>
#include <polys/prCopy.h>
#include "transext.h"
#include "algext.h"
#include <polys/PolyEnumerator.h>
Go to the source code of this file.
Data Structures | |
struct | NTNumConverter |
Macros | |
#define | TRANSEXT_PRIVATES |
#define | ADD_COMPLEXITY 1 |
complexity increase due to + and - More... | |
#define | MULT_COMPLEXITY 2 |
complexity increase due to * and / More... | |
#define | DIFF_COMPLEXITY 2 |
complexity increase due to * and / More... | |
#define | BOUND_COMPLEXITY 10 |
maximum complexity of a number More... | |
#define | NUMIS1(f) (p_IsOne(NUM(f), cf->extRing)) |
TRUE iff num. represents 1. More... | |
#define | COM(f) f->complexity |
#define | ntTest(a) n_Test(a, cf) |
#define | ntRing cf->extRing |
#define | ntCoeffs cf->extRing->cf |
Functions | |
BOOLEAN | ntDBTest (number a, const char *f, const int l, const coeffs r) |
BOOLEAN | ntGreaterZero (number a, const coeffs cf) |
forward declarations More... | |
BOOLEAN | ntGreater (number a, number b, const coeffs cf) |
BOOLEAN | ntEqual (number a, number b, const coeffs cf) |
BOOLEAN | ntIsOne (number a, const coeffs cf) |
BOOLEAN | ntIsMOne (number a, const coeffs cf) |
BOOLEAN | ntIsZero (number a, const coeffs cf) |
number | ntInit (long i, const coeffs cf) |
long | ntInt (number &a, const coeffs cf) |
number | ntNeg (number a, const coeffs cf) |
this is in-place, modifies a More... | |
number | ntInvers (number a, const coeffs cf) |
number | ntAdd (number a, number b, const coeffs cf) |
number | ntSub (number a, number b, const coeffs cf) |
number | ntMult (number a, number b, const coeffs cf) |
number | ntDiv (number a, number b, const coeffs cf) |
void | ntPower (number a, int exp, number *b, const coeffs cf) |
number | ntCopy (number a, const coeffs cf) |
void | ntWriteLong (number a, const coeffs cf) |
void | ntWriteShort (number a, const coeffs cf) |
number | ntRePart (number a, const coeffs cf) |
number | ntImPart (number a, const coeffs cf) |
number | ntGetDenom (number &a, const coeffs cf) |
TODO: normalization of a!? More... | |
number | ntGetNumerator (number &a, const coeffs cf) |
TODO: normalization of a!? More... | |
number | ntGcd (number a, number b, const coeffs cf) |
number | ntNormalizeHelper (number a, number b, const coeffs cf) |
int | ntSize (number a, const coeffs cf) |
void | ntDelete (number *a, const coeffs cf) |
void | ntCoeffWrite (const coeffs cf, BOOLEAN details) |
const char * | ntRead (const char *s, number *a, const coeffs cf) |
static BOOLEAN | ntCoeffIsEqual (const coeffs cf, n_coeffType n, void *param) |
void | heuristicGcdCancellation (number a, const coeffs cf) |
void | definiteGcdCancellation (number a, const coeffs cf, BOOLEAN simpleTestsHaveAlreadyBeenPerformed) |
modifies a More... | |
void | handleNestedFractionsOverQ (fraction f, const coeffs cf) |
static coeffs | nCoeff_bottom (const coeffs r, int &height) |
number | ntInit (poly p, const coeffs cf) |
takes over p! More... | |
number | ntDiff (number a, number d, const coeffs cf) |
static void | ntNormalizeDen (fraction result, const ring R) |
void | ntNormalize (number &a, const coeffs cf) |
number | ntMap00 (number a, const coeffs src, const coeffs dst) |
number | ntMapZ0 (number a, const coeffs src, const coeffs dst) |
number | ntMapP0 (number a, const coeffs src, const coeffs dst) |
number | ntCopyMap (number a, const coeffs cf, const coeffs dst) |
number | ntGenMap (number a, const coeffs cf, const coeffs dst) |
number | ntCopyAlg (number a, const coeffs cf, const coeffs dst) |
number | ntGenAlg (number a, const coeffs cf, const coeffs dst) |
number | ntMap0P (number a, const coeffs src, const coeffs dst) |
number | ntMapPP (number a, const coeffs src, const coeffs dst) |
number | ntMapUP (number a, const coeffs src, const coeffs dst) |
nMapFunc | ntSetMap (const coeffs src, const coeffs dst) |
Get a mapping function from src into the domain of this type (n_transExt) More... | |
void | ntKillChar (coeffs cf) |
number | ntConvFactoryNSingN (const CanonicalForm n, const coeffs cf) |
CanonicalForm | ntConvSingNFactoryN (number n, BOOLEAN, const coeffs cf) |
static int | ntParDeg (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. More... | |
int | ntIsParam (number m, const coeffs cf) |
if m == var(i)/1 => return i, More... | |
static void | ntClearContent (ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf) |
static void | ntClearDenominators (ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf) |
number | ntChineseRemainder (number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs cf) |
number | ntFarey (number p, number n, const coeffs cf) |
BOOLEAN | ntInitChar (coeffs cf, void *infoStruct) |
Initialize the coeffs object. More... | |
Variables | |
static const n_coeffType | ID = n_transExt |
Our own type! More... | |
omBin | fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
#define ADD_COMPLEXITY 1 |
complexity increase due to + and -
Definition at line 62 of file transext.cc.
#define BOUND_COMPLEXITY 10 |
maximum complexity of a number
Definition at line 65 of file transext.cc.
Definition at line 70 of file transext.cc.
#define DIFF_COMPLEXITY 2 |
complexity increase due to * and /
Definition at line 64 of file transext.cc.
#define MULT_COMPLEXITY 2 |
complexity increase due to * and /
Definition at line 63 of file transext.cc.
Definition at line 90 of file transext.cc.
#define ntRing cf->extRing |
Definition at line 84 of file transext.cc.
TRUE iff num. represents 1.
Definition at line 68 of file transext.cc.
#define TRANSEXT_PRIVATES |
Definition at line 33 of file transext.cc.
void definiteGcdCancellation | ( | number | a, |
const coeffs | cf, | ||
BOOLEAN | simpleTestsHaveAlreadyBeenPerformed | ||
) |
modifies a
Definition at line 1366 of file transext.cc.
Definition at line 1187 of file transext.cc.
Definition at line 1281 of file transext.cc.
Definition at line 314 of file transext.cc.
Definition at line 872 of file transext.cc.
number ntChineseRemainder | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | cf | ||
) |
Definition at line 2499 of file transext.cc.
|
static |
Definition at line 2266 of file transext.cc.
|
static |
Definition at line 2355 of file transext.cc.
|
static |
Definition at line 1594 of file transext.cc.
Definition at line 776 of file transext.cc.
number ntConvFactoryNSingN | ( | const CanonicalForm | n, |
const coeffs | cf | ||
) |
Definition at line 2188 of file transext.cc.
CanonicalForm ntConvSingNFactoryN | ( | number | n, |
BOOLEAN | , | ||
const coeffs | cf | ||
) |
Definition at line 2200 of file transext.cc.
Definition at line 394 of file transext.cc.
Definition at line 2028 of file transext.cc.
Definition at line 1920 of file transext.cc.
< t != 0 ==> numerator(t) != 0
Definition at line 175 of file transext.cc.
Definition at line 335 of file transext.cc.
Definition at line 814 of file transext.cc.
Definition at line 1047 of file transext.cc.
simple tests
cheap test if gcd's have been cancelled in both numbers
Definition at line 348 of file transext.cc.
Definition at line 2529 of file transext.cc.
Definition at line 1704 of file transext.cc.
Definition at line 2035 of file transext.cc.
Definition at line 1949 of file transext.cc.
TODO: normalization of a!?
Definition at line 473 of file transext.cc.
TODO: normalization of a!?
Definition at line 412 of file transext.cc.
Definition at line 713 of file transext.cc.
forward declarations
Definition at line 766 of file transext.cc.
Definition at line 610 of file transext.cc.
Definition at line 616 of file transext.cc.
takes over p!
Definition at line 637 of file transext.cc.
Initialize the coeffs object.
Definition at line 2539 of file transext.cc.
Definition at line 685 of file transext.cc.
Definition at line 1807 of file transext.cc.
Definition at line 584 of file transext.cc.
Definition at line 575 of file transext.cc.
if m == var(i)/1 => return i,
Definition at line 2240 of file transext.cc.
Definition at line 328 of file transext.cc.
void ntKillChar | ( | coeffs | cf | ) |
Definition at line 2183 of file transext.cc.
Definition at line 1866 of file transext.cc.
Definition at line 2045 of file transext.cc.
Definition at line 1904 of file transext.cc.
Definition at line 2069 of file transext.cc.
Definition at line 2084 of file transext.cc.
Definition at line 1890 of file transext.cc.
Definition at line 952 of file transext.cc.
Definition at line 1575 of file transext.cc.
|
static |
Definition at line 1023 of file transext.cc.
Definition at line 1616 of file transext.cc.
return the specified parameter as a number in the given trans.ext.
Definition at line 2218 of file transext.cc.
Definition at line 2209 of file transext.cc.
Definition at line 1097 of file transext.cc.
Definition at line 1565 of file transext.cc.
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)
K(T') –> K(T)
K(T') –> K'(T)
K(T') –> K(T)
K(T') –> K'(T)
default
Definition at line 2106 of file transext.cc.
Definition at line 1780 of file transext.cc.
Definition at line 913 of file transext.cc.
Definition at line 1515 of file transext.cc.
Definition at line 1540 of file transext.cc.
omBin fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
Definition at line 93 of file transext.cc.
|
static |
Our own type!
Definition at line 80 of file transext.cc.