My Project
|
#include "misc/auxiliary.h"
#include "factory/factory.h"
#include "misc/sirandom.h"
#include "misc/prime.h"
#include "reporter/reporter.h"
#include "coeffs/coeffs.h"
#include "coeffs/numbers.h"
#include "coeffs/rmodulon.h"
#include "coeffs/longrat.h"
#include "coeffs/shortfl.h"
#include "coeffs/modulop.h"
#include "coeffs/mpr_complex.h"
#include <string.h>
#include <float.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) |
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) |
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) |
static number | nlInitMPZ (mpz_t m, const coeffs) |
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) |
static number | nlMapGMP (number from, const coeffs, const coeffs dst) |
number | nlMapZ (number from, const coeffs, 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) |
static number | nlMapR_BI (number from, const coeffs src, const coeffs dst) |
static number | nlMapLongR_BI (number from, const coeffs src, const coeffs dst) |
static number | nlMapC (number from, const coeffs src, const coeffs dst) |
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 | nlMapQtoZ (number a, const coeffs src, const coeffs dst) |
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... | |
void | nlMPZ (mpz_t m, number &n, const coeffs r) |
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) |
void | nlWriteFd (number n, const ssiInfo *d, const coeffs) |
number | nlReadFd (const ssiInfo *d, 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 | |
VAR int | n_SwitchChinRem =0 |
#define BYTES_PER_MP_LIMB sizeof(mp_limb_t) |
Definition at line 136 of file longrat.cc.
Definition at line 1797 of file longrat.cc.
#define LINLINE |
Definition at line 31 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 144 of file longrat.cc.
Definition at line 146 of file longrat.cc.
Definition at line 148 of file longrat.cc.
Definition at line 147 of file longrat.cc.
#define nlTest | ( | a, | |
r | |||
) | nlDBTest(a,__FILE__,__LINE__, r) |
Definition at line 87 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 1819 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1768 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1700 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1977 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2331 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2344 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1786 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2120 of file longrat.cc.
|
static |
Definition at line 1415 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 2701 of file longrat.cc.
Definition at line 775 of file longrat.cc.
number nlBigInt | ( | number & | n | ) |
number nlChineseRemainderSym | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | CF | ||
) |
Definition at line 3095 of file longrat.cc.
|
static |
Definition at line 3139 of file longrat.cc.
|
static |
Definition at line 3230 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3439 of file longrat.cc.
Definition at line 3324 of file longrat.cc.
|
static |
Definition at line 368 of file longrat.cc.
|
static |
Definition at line 330 of file longrat.cc.
Definition at line 2653 of file longrat.cc.
Definition at line 2452 of file longrat.cc.
Definition at line 238 of file longrat.cc.
Definition at line 2666 of file longrat.cc.
Definition at line 1145 of file longrat.cc.
Definition at line 1080 of file longrat.cc.
Definition at line 1094 of file longrat.cc.
Definition at line 2597 of file longrat.cc.
Definition at line 873 of file longrat.cc.
number nlExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
const | coeffs | ||
) |
Definition at line 3039 of file longrat.cc.
Definition at line 2968 of file longrat.cc.
Definition at line 1345 of file longrat.cc.
Definition at line 1640 of file longrat.cc.
Definition at line 1669 of file longrat.cc.
Definition at line 1105 of file longrat.cc.
Definition at line 1619 of file longrat.cc.
Definition at line 1318 of file longrat.cc.
Definition at line 2606 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 2544 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 2557 of file longrat.cc.
Definition at line 3475 of file longrat.cc.
|
static |
Definition at line 164 of file longrat.cc.
Definition at line 2719 of file longrat.cc.
Definition at line 2948 of file longrat.cc.
Definition at line 2785 of file longrat.cc.
Definition at line 743 of file longrat.cc.
Definition at line 938 of file longrat.cc.
Definition at line 1019 of file longrat.cc.
Definition at line 793 of file longrat.cc.
Definition at line 2633 of file longrat.cc.
Definition at line 548 of file longrat.cc.
Definition at line 206 of file longrat.cc.
Definition at line 435 of file longrat.cc.
Definition at line 223 of file longrat.cc.
Definition at line 189 of file longrat.cc.
Definition at line 2461 of file longrat.cc.
Definition at line 395 of file longrat.cc.
Definition at line 211 of file longrat.cc.
Definition at line 1577 of file longrat.cc.
Definition at line 2819 of file longrat.cc.
Definition at line 2737 of file longrat.cc.
Definition at line 2682 of file longrat.cc.
Definition at line 1486 of file longrat.cc.
|
static |
Definition at line 1530 of file longrat.cc.
Definition at line 1255 of file longrat.cc.
Definition at line 1111 of file longrat.cc.
Definition at line 2880 of file longrat.cc.
|
static |
Definition at line 31 of file longrat0.cc.
Definition at line 3376 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2530 of file longrat.cc.
Definition at line 2480 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1465 of file longrat.cc.
|
inlinestatic |
Definition at line 109 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 159 of file longrat.cc.
int nlSize | ( | number | a, |
const | coeffs | ||
) |
Definition at line 714 of file longrat.cc.
Definition at line 2767 of file longrat.cc.
Definition at line 90 of file longrat0.cc.
Definition at line 3330 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2828 of file longrat.cc.
VAR int n_SwitchChinRem =0 |
Definition at line 3094 of file longrat.cc.