![]() |
#include <misc/auxiliary.h>
#include <omalloc/omalloc.h>
#include <factory/factory.h>
#include <misc/sirandom.h>
#include <misc/prime.h>
#include <reporter/reporter.h>
#include "rmodulon.h"
#include "longrat.h"
#include "shortfl.h"
#include "modulop.h"
#include <string.h>
#include <float.h>
#include <coeffs/coeffs.h>
#include <coeffs/numbers.h>
#include <coeffs/mpr_complex.h>
Go to the source code of this file.
Macros | |
#define | LINLINE |
#define | nlTest(a, r) nlDBTest(a,__FILE__,__LINE__, r) |
#define | MAX_NUM_SIZE 28 |
#define | POW_2_28 (1L<<28) |
#define | POW_2_28_32 (1L<<28) |
#define | LONG int |
#define | LONGRAT_CC |
#define | BYTES_PER_MP_LIMB sizeof(mp_limb_t) |
#define | MP_SMALL 1 |
#define | mpz_isNeg(A) ((A)->_mp_size<0) |
#define | mpz_limb_size(A) ((A)->_mp_size) |
#define | mpz_limb_d(A) ((A)->_mp_d) |
#define | GCD_NORM_COND(OLD, NEW) (mpz_size1(NEW->z)>mpz_size1(OLD->z)) |
Functions | |
LINLINE BOOLEAN | nlEqual (number a, number b, const coeffs r) |
LINLINE number | nlInit (long i, const coeffs r) |
LINLINE BOOLEAN | nlIsOne (number a, const coeffs r) |
LINLINE BOOLEAN | nlIsZero (number za, const coeffs r) |
LINLINE number | nlCopy (number a, const coeffs r) |
LINLINE number | nl_Copy (number a, const coeffs r) |
LINLINE void | nlDelete (number *a, const coeffs r) |
LINLINE number | nlNeg (number za, const coeffs r) |
LINLINE number | nlAdd (number la, number li, const coeffs r) |
LINLINE number | nlSub (number la, number li, const coeffs r) |
LINLINE number | nlMult (number a, number b, const coeffs r) |
LINLINE void | nlInpAdd (number &a, number b, const coeffs r) |
LINLINE void | nlInpMult (number &a, number b, const coeffs r) |
number | nlRInit (long i) |
void | nlNormalize (number &x, const coeffs r) |
number | nlGcd (number a, number b, const coeffs r) |
number | nlExtGcd (number a, number b, number *s, number *t, const coeffs) |
number | nlNormalizeHelper (number a, number b, const coeffs r) |
BOOLEAN | nlGreater (number a, number b, const coeffs r) |
BOOLEAN | nlIsMOne (number a, const coeffs r) |
long | nlInt (number &n, const coeffs r) |
number | nlBigInt (number &n) |
number | nlMapGMP (number from, const coeffs src, const coeffs dst) |
BOOLEAN | nlGreaterZero (number za, const coeffs r) |
number | nlInvers (number a, const coeffs r) |
number | nlDiv (number a, number b, const coeffs r) |
number | nlExactDiv (number a, number b, const coeffs r) |
number | nlIntDiv (number a, number b, const coeffs r) |
number | nlIntMod (number a, number b, const coeffs r) |
void | nlPower (number x, int exp, number *lu, const coeffs r) |
const char * | nlRead (const char *s, number *a, const coeffs r) |
void | nlWrite (number a, const coeffs r) |
void | nlCoeffWrite (const coeffs r, BOOLEAN details) |
number | nlChineseRemainder (number *x, number *q, int rl, const coeffs C) |
number | nlFarey (number nN, number nP, const coeffs CF) |
BOOLEAN | nlDBTest (number a, const char *f, const int l) |
nMapFunc | nlSetMap (const coeffs src, const coeffs dst) |
void | nlInpIntDiv (number &a, number b, const coeffs r) |
BOOLEAN | nlDBTest (number a, const char *f, int l, const coeffs r) |
static number | nlShort3 (number x) |
void | _nlDelete_NoImm (number *a) |
number | nlShort3_noinline (number x) |
void | mpz_mul_si (mpz_ptr r, mpz_srcptr s, long int si) |
static number | nlMapP (number from, const coeffs src, const coeffs dst) |
static number | nlMapLongR (number from, const coeffs src, const coeffs dst) |
static number | nlMapR (number from, const coeffs src, const coeffs dst) |
number | nlMapZ (number from, const coeffs src, const coeffs dst) |
number | nlMapMachineInt (number from, const coeffs, const coeffs) |
static CanonicalForm | nlConvSingNFactoryN (number n, const BOOLEAN setChar, const coeffs) |
static number | nlConvFactoryNSingN (const CanonicalForm f, const coeffs r) |
int | nlSize (number a, const coeffs) |
number | nlBigInt (number &i, const coeffs r) |
BOOLEAN | nlDivBy (number a, number b, const coeffs) |
int | nlDivComp (number a, number b, const coeffs r) |
number | nlGetUnit (number, const coeffs) |
coeffs | nlQuot1 (number c, const coeffs r) |
BOOLEAN | nlIsUnit (number a, const coeffs) |
static int | int_extgcd (int a, int b, int *u, int *x, int *v, int *y) |
number | nlShort1 (number x) |
number | nlModP (number q, const coeffs, const coeffs Zp) |
void | nlGMP (number &i, number n, const coeffs r) |
number | nlGetDenom (number &n, const coeffs r) |
number | nlGetNumerator (number &n, const coeffs r) |
BOOLEAN | _nlEqual_aNoImm_OR_bNoImm (number a, number b) |
number | _nlCopy_NoImm (number a) |
number | _nlNeg_NoImm (number a) |
static void | nlNormalize_Gcd (number &x) |
number | _nlAdd_aNoImm_OR_bNoImm (number a, number b) |
void | _nlInpAdd_aNoImm_OR_bNoImm (number &a, number b) |
number | _nlSub_aNoImm_OR_bNoImm (number a, number b) |
number | _nlMult_aImm_bImm_rNoImm (number a, number b) |
number | _nlMult_aNoImm_OR_bNoImm (number a, number b) |
number | nlCopyMap (number a, const coeffs, const coeffs) |
number | nlInit2 (int i, int j, const coeffs r) |
create a rational i/j (implicitly) over Q NOTE: make sure to use correct Q in debug mode More... | |
number | nlInit2gmp (mpz_t i, mpz_t j, const coeffs r) |
create a rational i/j (implicitly) over Q NOTE: make sure to use correct Q in debug mode More... | |
static void | nlMPZ (mpz_t m, number &n, const coeffs r) |
static number | nlInitMPZ (mpz_t m, const coeffs) |
number | nlXExtGcd (number a, number b, number *s, number *t, number *u, number *v, const coeffs r) |
number | nlQuotRem (number a, number b, number *r, const coeffs R) |
void | nlInpGcd (number &a, number b, const coeffs r) |
number | nlChineseRemainderSym (number *x, number *q, int rl, BOOLEAN sym, CFArray &inv_cache, const coeffs CF) |
static void | nlClearContent (ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf) |
static void | nlClearDenominators (ICoeffsEnumerator &numberCollectionEnumerator, number &c, const coeffs cf) |
char * | nlCoeffName (const coeffs r) |
static char * | nlCoeffString (const coeffs r) |
static void | nlWriteFd (number n, FILE *f, const coeffs) |
static number | nlReadFd (s_buff f, const coeffs) |
BOOLEAN | nlCoeffIsEqual (const coeffs r, n_coeffType n, void *p) |
static number | nlLcm (number a, number b, const coeffs r) |
static number | nlRandom (siRandProc p, number v2, number, const coeffs cf) |
BOOLEAN | nlInitChar (coeffs r, void *p) |
Variables | |
int | n_SwitchChinRem =0 |
#define BYTES_PER_MP_LIMB sizeof(mp_limb_t) |
Definition at line 147 of file longrat.cc.
Definition at line 1647 of file longrat.cc.
#define LINLINE |
Definition at line 26 of file longrat.cc.
#define LONG int |
Definition at line 106 of file longrat.cc.
#define LONGRAT_CC |
Definition at line 134 of file longrat.cc.
#define MAX_NUM_SIZE 28 |
Definition at line 103 of file longrat.cc.
#define MP_SMALL 1 |
Definition at line 155 of file longrat.cc.
Definition at line 157 of file longrat.cc.
Definition at line 159 of file longrat.cc.
Definition at line 158 of file longrat.cc.
#define POW_2_28 (1L<<28) |
Definition at line 104 of file longrat.cc.
#define POW_2_28_32 (1L<<28) |
Definition at line 105 of file longrat.cc.
number _nlAdd_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1669 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1595 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1616 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1548 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1827 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2181 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2194 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1634 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1970 of file longrat.cc.
|
static |
Definition at line 1263 of file longrat.cc.
void mpz_mul_si | ( | mpz_ptr | r, |
mpz_srcptr | s, | ||
long int | si | ||
) |
Definition at line 177 of file longrat.cc.
Definition at line 2519 of file longrat.cc.
number nlBigInt | ( | number & | n | ) |
Definition at line 637 of file longrat.cc.
Definition at line 2957 of file longrat.cc.
number nlChineseRemainderSym | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | CF | ||
) |
Definition at line 2923 of file longrat.cc.
|
static |
Definition at line 2963 of file longrat.cc.
|
static |
Definition at line 3054 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3269 of file longrat.cc.
Definition at line 3148 of file longrat.cc.
Definition at line 3154 of file longrat.cc.
Definition at line 2914 of file longrat.cc.
|
static |
Definition at line 376 of file longrat.cc.
|
static |
Definition at line 338 of file longrat.cc.
Definition at line 2471 of file longrat.cc.
Definition at line 2302 of file longrat.cc.
Definition at line 246 of file longrat.cc.
Definition at line 2484 of file longrat.cc.
Definition at line 992 of file longrat.cc.
Definition at line 928 of file longrat.cc.
Definition at line 942 of file longrat.cc.
Definition at line 2415 of file longrat.cc.
Definition at line 735 of file longrat.cc.
Definition at line 2865 of file longrat.cc.
Definition at line 2796 of file longrat.cc.
Definition at line 1192 of file longrat.cc.
Definition at line 1488 of file longrat.cc.
Definition at line 1517 of file longrat.cc.
Definition at line 953 of file longrat.cc.
Definition at line 1467 of file longrat.cc.
Definition at line 1165 of file longrat.cc.
Definition at line 1155 of file longrat.cc.
Definition at line 2424 of file longrat.cc.
create a rational i/j (implicitly) over Q NOTE: make sure to use correct Q in debug mode
Definition at line 2362 of file longrat.cc.
create a rational i/j (implicitly) over Q NOTE: make sure to use correct Q in debug mode
Definition at line 2375 of file longrat.cc.
Definition at line 3305 of file longrat.cc.
Definition at line 2646 of file longrat.cc.
Definition at line 2537 of file longrat.cc.
Definition at line 2763 of file longrat.cc.
Definition at line 2778 of file longrat.cc.
Definition at line 2603 of file longrat.cc.
Definition at line 605 of file longrat.cc.
Definition at line 786 of file longrat.cc.
Definition at line 867 of file longrat.cc.
Definition at line 655 of file longrat.cc.
Definition at line 1180 of file longrat.cc.
Definition at line 2442 of file longrat.cc.
Definition at line 983 of file longrat.cc.
Definition at line 2451 of file longrat.cc.
Definition at line 3281 of file longrat.cc.
Definition at line 206 of file longrat.cc.
Definition at line 433 of file longrat.cc.
Definition at line 231 of file longrat.cc.
Definition at line 189 of file longrat.cc.
Definition at line 403 of file longrat.cc.
Definition at line 219 of file longrat.cc.
Definition at line 1425 of file longrat.cc.
Definition at line 2637 of file longrat.cc.
Definition at line 2555 of file longrat.cc.
Definition at line 2500 of file longrat.cc.
Definition at line 1334 of file longrat.cc.
|
static |
Definition at line 1649 of file longrat.cc.
Definition at line 1378 of file longrat.cc.
Definition at line 1102 of file longrat.cc.
Definition at line 958 of file longrat.cc.
Definition at line 2710 of file longrat.cc.
|
static |
Definition at line 3291 of file longrat.cc.
Definition at line 57 of file longrat0.cc.
Definition at line 3207 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2348 of file longrat.cc.
Definition at line 2311 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1313 of file longrat.cc.
|
inlinestatic |
Definition at line 110 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 170 of file longrat.cc.
Definition at line 576 of file longrat.cc.
Definition at line 2585 of file longrat.cc.
Definition at line 116 of file longrat0.cc.
Definition at line 3161 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2658 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2922 of file longrat.cc.