![]() |
#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 | 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 n, const coeffs cf) |
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, mpz_t 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 146 of file longrat.cc.
Definition at line 1662 of file longrat.cc.
#define LINLINE |
Definition at line 26 of file longrat.cc.
#define LONG int |
Definition at line 105 of file longrat.cc.
#define LONGRAT_CC |
Definition at line 133 of file longrat.cc.
#define MAX_NUM_SIZE 28 |
Definition at line 102 of file longrat.cc.
#define MP_SMALL 1 |
Definition at line 154 of file longrat.cc.
Definition at line 156 of file longrat.cc.
Definition at line 158 of file longrat.cc.
Definition at line 157 of file longrat.cc.
#define POW_2_28 (1L<<28) |
Definition at line 103 of file longrat.cc.
#define POW_2_28_32 (1L<<28) |
Definition at line 104 of file longrat.cc.
number _nlAdd_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1684 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1610 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1631 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1563 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1842 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2196 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2209 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1649 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1985 of file longrat.cc.
|
static |
Definition at line 1278 of file longrat.cc.
void mpz_mul_si | ( | mpz_ptr | r, |
mpz_srcptr | s, | ||
long int | si | ||
) |
Definition at line 176 of file longrat.cc.
Definition at line 2534 of file longrat.cc.
number nlBigInt | ( | number & | n | ) |
Definition at line 635 of file longrat.cc.
number nlChineseRemainderSym | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | CF | ||
) |
Definition at line 2938 of file longrat.cc.
|
static |
Definition at line 2982 of file longrat.cc.
|
static |
Definition at line 3073 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3288 of file longrat.cc.
Definition at line 3167 of file longrat.cc.
Definition at line 3173 of file longrat.cc.
Definition at line 2929 of file longrat.cc.
|
static |
Definition at line 374 of file longrat.cc.
|
static |
Definition at line 336 of file longrat.cc.
Definition at line 2486 of file longrat.cc.
Definition at line 2317 of file longrat.cc.
Definition at line 244 of file longrat.cc.
Definition at line 2499 of file longrat.cc.
Definition at line 1007 of file longrat.cc.
Definition at line 942 of file longrat.cc.
Definition at line 956 of file longrat.cc.
Definition at line 2430 of file longrat.cc.
Definition at line 733 of file longrat.cc.
Definition at line 2880 of file longrat.cc.
Definition at line 2811 of file longrat.cc.
Definition at line 1207 of file longrat.cc.
Definition at line 1503 of file longrat.cc.
Definition at line 1532 of file longrat.cc.
Definition at line 967 of file longrat.cc.
Definition at line 1482 of file longrat.cc.
Definition at line 1180 of file longrat.cc.
Definition at line 1170 of file longrat.cc.
Definition at line 2439 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 2377 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 2390 of file longrat.cc.
Definition at line 3324 of file longrat.cc.
Definition at line 2661 of file longrat.cc.
Definition at line 2552 of file longrat.cc.
Definition at line 2778 of file longrat.cc.
Definition at line 2793 of file longrat.cc.
Definition at line 2618 of file longrat.cc.
Definition at line 603 of file longrat.cc.
Definition at line 800 of file longrat.cc.
Definition at line 881 of file longrat.cc.
Definition at line 653 of file longrat.cc.
Definition at line 1195 of file longrat.cc.
Definition at line 2457 of file longrat.cc.
Definition at line 998 of file longrat.cc.
Definition at line 2466 of file longrat.cc.
Definition at line 3300 of file longrat.cc.
Definition at line 205 of file longrat.cc.
Definition at line 431 of file longrat.cc.
Definition at line 229 of file longrat.cc.
Definition at line 188 of file longrat.cc.
Definition at line 401 of file longrat.cc.
Definition at line 217 of file longrat.cc.
Definition at line 1440 of file longrat.cc.
Definition at line 2652 of file longrat.cc.
Definition at line 2570 of file longrat.cc.
Definition at line 2515 of file longrat.cc.
Definition at line 1349 of file longrat.cc.
|
static |
Definition at line 1664 of file longrat.cc.
Definition at line 1393 of file longrat.cc.
Definition at line 1117 of file longrat.cc.
Definition at line 973 of file longrat.cc.
Definition at line 2725 of file longrat.cc.
|
static |
Definition at line 3310 of file longrat.cc.
Definition at line 54 of file longrat0.cc.
Definition at line 3226 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2363 of file longrat.cc.
Definition at line 2326 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1328 of file longrat.cc.
|
inlinestatic |
Definition at line 109 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 169 of file longrat.cc.
Definition at line 574 of file longrat.cc.
Definition at line 2600 of file longrat.cc.
Definition at line 113 of file longrat0.cc.
Definition at line 3180 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2673 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2937 of file longrat.cc.