![]() |
#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 | |
static BOOLEAN | ntDBTest (number a, const char *f, const int l, const coeffs r) |
static void | heuristicGcdCancellation (number a, const coeffs cf) |
forward declarations More... | |
static void | definiteGcdCancellation (number a, const coeffs cf, BOOLEAN simpleTestsHaveAlreadyBeenPerformed) |
modifies a More... | |
static coeffs | nCoeff_bottom (const coeffs r, int &height) |
static BOOLEAN | ntIsZero (number a, const coeffs cf) |
static void | ntDelete (number *a, const coeffs cf) |
static BOOLEAN | ntEqual (number a, number b, const coeffs cf) |
static number | ntCopy (number a, const coeffs cf) |
static void | handleNestedFractionsOverQ (fraction f, const coeffs cf) |
static number | ntGetNumerator (number &a, const coeffs cf) |
TODO: normalization of a!? More... | |
static number | ntGetDenom (number &a, const coeffs cf) |
TODO: normalization of a!? More... | |
static BOOLEAN | ntIsOne (number a, const coeffs cf) |
static BOOLEAN | ntIsMOne (number a, const coeffs cf) |
static number | ntNeg (number a, const coeffs cf) |
this is in-place, modifies a More... | |
number | ntInit (long i, const coeffs cf) |
number | ntInit (poly p, const coeffs cf) |
takes over p! More... | |
static long | ntInt (number &a, const coeffs cf) |
static BOOLEAN | ntGreaterZero (number a, const coeffs cf) |
static BOOLEAN | ntGreater (number a, number b, const coeffs cf) |
static void | ntCoeffWrite (const coeffs cf, BOOLEAN details) |
number | ntDiff (number a, number d, const coeffs cf) |
static number | ntAdd (number a, number b, const coeffs cf) |
static number | ntSub (number a, number b, const coeffs cf) |
static number | ntMult (number a, number b, const coeffs cf) |
static void | ntNormalizeDen (fraction result, const ring R) |
static number | ntDiv (number a, number b, const coeffs cf) |
static number | ntInvers (number a, const coeffs cf) |
static void | ntPower (number a, int exp, number *b, const coeffs cf) |
static void | ntWriteLong (number a, const coeffs cf) |
static void | ntWriteShort (number a, const coeffs cf) |
static const char * | ntRead (const char *s, number *a, const coeffs cf) |
static void | ntNormalize (number &a, const coeffs cf) |
static BOOLEAN | ntCoeffIsEqual (const coeffs cf, n_coeffType n, void *param) |
static number | ntNormalizeHelper (number a, number b, const coeffs cf) |
static number | ntGcd (number a, number b, const coeffs cf) |
static int | ntSize (number a, const coeffs cf) |
static number | ntMap00 (number a, const coeffs src, const coeffs dst) |
static number | ntMapZ0 (number a, const coeffs src, const coeffs dst) |
static number | ntMapP0 (number a, const coeffs src, const coeffs dst) |
static number | ntCopyMap (number a, const coeffs cf, const coeffs dst) |
static number | ntGenMap (number a, const coeffs cf, const coeffs dst) |
static number | ntCopyAlg (number a, const coeffs cf, const coeffs dst) |
static number | ntGenAlg (number a, const coeffs cf, const coeffs dst) |
static number | ntMap0P (number a, const coeffs src, const coeffs dst) |
static number | ntMapPP (number a, const coeffs src, const coeffs dst) |
static 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... | |
static void | ntKillChar (coeffs cf) |
static number | ntConvFactoryNSingN (const CanonicalForm n, const coeffs cf) |
static 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) |
static number | ntChineseRemainder (number *x, number *q, int rl, BOOLEAN, CFArray &inv_cache, const coeffs cf) |
static number | ntFarey (number p, number n, const coeffs cf) |
BOOLEAN | ntInitChar (coeffs cf, void *infoStruct) |
Initialize the coeffs object. More... | |
Variables | |
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 87 of file transext.cc.
#define ntRing cf->extRing |
Definition at line 81 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.
|
static |
modifies a
Definition at line 1380 of file transext.cc.
Definition at line 401 of file transext.cc.
forward declarations
Definition at line 1295 of file transext.cc.
Definition at line 280 of file transext.cc.
Definition at line 944 of file transext.cc.
|
static |
Definition at line 2458 of file transext.cc.
|
static |
Definition at line 2225 of file transext.cc.
|
static |
Definition at line 2314 of file transext.cc.
|
static |
Definition at line 1611 of file transext.cc.
Definition at line 846 of file transext.cc.
|
static |
Definition at line 2147 of file transext.cc.
|
static |
Definition at line 2159 of file transext.cc.
Definition at line 360 of file transext.cc.
Definition at line 1987 of file transext.cc.
Definition at line 1879 of file transext.cc.
< t != 0 ==> numerator(t) != 0
Definition at line 141 of file transext.cc.
Definition at line 301 of file transext.cc.
Definition at line 887 of file transext.cc.
Definition at line 1119 of file transext.cc.
simple tests
cheap test if gcd's have been cancelled in both numbers
Definition at line 314 of file transext.cc.
Definition at line 2488 of file transext.cc.
Definition at line 1721 of file transext.cc.
Definition at line 1994 of file transext.cc.
Definition at line 1908 of file transext.cc.
TODO: normalization of a!?
Definition at line 555 of file transext.cc.
TODO: normalization of a!?
Definition at line 494 of file transext.cc.
Definition at line 794 of file transext.cc.
Definition at line 784 of file transext.cc.
Definition at line 692 of file transext.cc.
takes over p!
Definition at line 713 of file transext.cc.
Initialize the coeffs object.
Definition at line 2498 of file transext.cc.
Definition at line 761 of file transext.cc.
Definition at line 1161 of file transext.cc.
Definition at line 666 of file transext.cc.
Definition at line 657 of file transext.cc.
if m == var(i)/1 => return i,
Definition at line 2199 of file transext.cc.
Definition at line 294 of file transext.cc.
|
static |
Definition at line 2142 of file transext.cc.
Definition at line 1825 of file transext.cc.
Definition at line 2004 of file transext.cc.
Definition at line 1863 of file transext.cc.
Definition at line 2028 of file transext.cc.
Definition at line 2043 of file transext.cc.
Definition at line 1849 of file transext.cc.
Definition at line 1024 of file transext.cc.
Definition at line 1592 of file transext.cc.
|
static |
Definition at line 1095 of file transext.cc.
Definition at line 1633 of file transext.cc.
return the specified parameter as a number in the given trans.ext.
Definition at line 2177 of file transext.cc.
Definition at line 2168 of file transext.cc.
Definition at line 1227 of file transext.cc.
Definition at line 1582 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 2065 of file transext.cc.
Definition at line 1797 of file transext.cc.
Definition at line 985 of file transext.cc.
Definition at line 1532 of file transext.cc.
Definition at line 1557 of file transext.cc.
omBin fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
Definition at line 90 of file transext.cc.