My Project
|
#include "misc/auxiliary.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 diff 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... | |
poly | gcd_over_Q (poly f, poly g, const ring r) |
helper routine for calling singclap_gcd_r 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) |
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 void | ntInpAdd (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 | ntInpMult (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 number | ntExactDiv (number a, number b, 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) |
static number | ntInitMPZ (mpz_t m, const coeffs r) |
static void | ntMPZ (mpz_t m, number &n, const coeffs r) |
BOOLEAN | ntInitChar (coeffs cf, void *infoStruct) |
Initialize the coeffs object. More... | |
Variables | |
VAR omBin | fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
#define ADD_COMPLEXITY 1 |
complexity increase due to + and -
Definition at line 61 of file transext.cc.
#define BOUND_COMPLEXITY 10 |
maximum complexity of a number
Definition at line 64 of file transext.cc.
Definition at line 69 of file transext.cc.
#define DIFF_COMPLEXITY 2 |
complexity increase due to diff
Definition at line 63 of file transext.cc.
#define MULT_COMPLEXITY 2 |
complexity increase due to * and /
Definition at line 62 of file transext.cc.
Definition at line 86 of file transext.cc.
#define ntRing cf->extRing |
Definition at line 80 of file transext.cc.
Definition at line 76 of file transext.cc.
TRUE iff num. represents 1.
Definition at line 67 of file transext.cc.
#define TRANSEXT_PRIVATES |
Definition at line 33 of file transext.cc.
|
static |
modifies a
Definition at line 1483 of file transext.cc.
poly gcd_over_Q | ( | poly | f, |
poly | g, | ||
const ring | r | ||
) |
helper routine for calling singclap_gcd_r
Definition at line 275 of file transext.cc.
Definition at line 413 of file transext.cc.
forward declarations
Definition at line 1398 of file transext.cc.
Definition at line 292 of file transext.cc.
Definition at line 954 of file transext.cc.
|
static |
Definition at line 2571 of file transext.cc.
|
static |
Definition at line 2334 of file transext.cc.
|
static |
Definition at line 2427 of file transext.cc.
|
static |
Definition at line 1727 of file transext.cc.
Definition at line 856 of file transext.cc.
|
static |
Definition at line 2256 of file transext.cc.
|
static |
Definition at line 2268 of file transext.cc.
Definition at line 372 of file transext.cc.
Definition at line 2092 of file transext.cc.
Definition at line 1984 of file transext.cc.
< t != 0 ==> numerator(t) != 0
Definition at line 140 of file transext.cc.
Definition at line 313 of file transext.cc.
Definition at line 897 of file transext.cc.
Definition at line 1224 of file transext.cc.
simple tests
cheap test if gcd's have been cancelled in both numbers
Definition at line 326 of file transext.cc.
Definition at line 1719 of file transext.cc.
Definition at line 2601 of file transext.cc.
Definition at line 1830 of file transext.cc.
Definition at line 2099 of file transext.cc.
Definition at line 2013 of file transext.cc.
TODO: normalization of a!?
Definition at line 567 of file transext.cc.
TODO: normalization of a!?
Definition at line 506 of file transext.cc.
Definition at line 806 of file transext.cc.
Definition at line 796 of file transext.cc.
Definition at line 704 of file transext.cc.
Definition at line 725 of file transext.cc.
Initialize the coeffs object.
Definition at line 2636 of file transext.cc.
Definition at line 2611 of file transext.cc.
Definition at line 1141 of file transext.cc.
Definition at line 773 of file transext.cc.
Definition at line 1270 of file transext.cc.
Definition at line 678 of file transext.cc.
if m == var(i)/1 => return i,
Definition at line 2308 of file transext.cc.
Definition at line 306 of file transext.cc.
|
static |
Definition at line 2250 of file transext.cc.
Definition at line 1930 of file transext.cc.
Definition at line 2109 of file transext.cc.
Definition at line 1968 of file transext.cc.
Definition at line 2133 of file transext.cc.
Definition at line 1954 of file transext.cc.
Definition at line 2619 of file transext.cc.
Definition at line 1073 of file transext.cc.
Definition at line 1701 of file transext.cc.
|
static |
Definition at line 1200 of file transext.cc.
Definition at line 1749 of file transext.cc.
return the specified parameter as a number in the given trans.ext.
Definition at line 2286 of file transext.cc.
Definition at line 1336 of file transext.cc.
Definition at line 1691 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)
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 2170 of file transext.cc.
Definition at line 1903 of file transext.cc.
Definition at line 1641 of file transext.cc.
Definition at line 1666 of file transext.cc.
VAR omBin fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
Definition at line 89 of file transext.cc.