![]() |
#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 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 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 1391 of file transext.cc.
poly gcd_over_Q | ( | poly | f, |
poly | g, | ||
const ring | r | ||
) |
Definition at line 413 of file transext.cc.
forward declarations
Definition at line 1306 of file transext.cc.
Definition at line 292 of file transext.cc.
Definition at line 954 of file transext.cc.
|
static |
Definition at line 2472 of file transext.cc.
|
static |
Definition at line 2235 of file transext.cc.
|
static |
Definition at line 2328 of file transext.cc.
|
static |
Definition at line 1628 of file transext.cc.
Definition at line 856 of file transext.cc.
|
static |
Definition at line 2157 of file transext.cc.
|
static |
Definition at line 2169 of file transext.cc.
Definition at line 372 of file transext.cc.
Definition at line 1993 of file transext.cc.
Definition at line 1885 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 1126 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 2502 of file transext.cc.
Definition at line 1731 of file transext.cc.
Definition at line 2000 of file transext.cc.
Definition at line 1914 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 2512 of file transext.cc.
Definition at line 773 of file transext.cc.
Definition at line 1172 of file transext.cc.
Definition at line 678 of file transext.cc.
Definition at line 669 of file transext.cc.
if m == var(i)/1 => return i,
Definition at line 2209 of file transext.cc.
Definition at line 306 of file transext.cc.
|
static |
Definition at line 2152 of file transext.cc.
Definition at line 1831 of file transext.cc.
Definition at line 2010 of file transext.cc.
Definition at line 1869 of file transext.cc.
Definition at line 2034 of file transext.cc.
Definition at line 2049 of file transext.cc.
Definition at line 1855 of file transext.cc.
Definition at line 1034 of file transext.cc.
Definition at line 1609 of file transext.cc.
|
static |
Definition at line 1102 of file transext.cc.
Definition at line 1650 of file transext.cc.
return the specified parameter as a number in the given trans.ext.
Definition at line 2187 of file transext.cc.
Definition at line 2178 of file transext.cc.
Definition at line 1238 of file transext.cc.
Definition at line 1599 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 2071 of file transext.cc.
Definition at line 1804 of file transext.cc.
Definition at line 995 of file transext.cc.
Definition at line 1549 of file transext.cc.
Definition at line 1574 of file transext.cc.
omBin fractionObjectBin = omGetSpecBin(sizeof(fractionObject)) |
Definition at line 89 of file transext.cc.