![]() |
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 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) |
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 1763 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 1785 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1708 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1729 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1661 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1943 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2297 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2310 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1750 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2086 of file longrat.cc.
|
static |
Definition at line 1376 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 2661 of file longrat.cc.
Definition at line 733 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 3053 of file longrat.cc.
|
static |
Definition at line 3097 of file longrat.cc.
|
static |
Definition at line 3188 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3397 of file longrat.cc.
Definition at line 3282 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 2613 of file longrat.cc.
Definition at line 2418 of file longrat.cc.
Definition at line 238 of file longrat.cc.
Definition at line 2626 of file longrat.cc.
Definition at line 1105 of file longrat.cc.
Definition at line 1040 of file longrat.cc.
Definition at line 1054 of file longrat.cc.
Definition at line 2557 of file longrat.cc.
Definition at line 831 of file longrat.cc.
number nlExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
const | coeffs | ||
) |
Definition at line 2997 of file longrat.cc.
Definition at line 2926 of file longrat.cc.
Definition at line 1305 of file longrat.cc.
Definition at line 1601 of file longrat.cc.
Definition at line 1630 of file longrat.cc.
Definition at line 1065 of file longrat.cc.
Definition at line 1580 of file longrat.cc.
Definition at line 1278 of file longrat.cc.
Definition at line 2566 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 2504 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 2517 of file longrat.cc.
Definition at line 3433 of file longrat.cc.
|
static |
Definition at line 164 of file longrat.cc.
Definition at line 2679 of file longrat.cc.
Definition at line 2908 of file longrat.cc.
Definition at line 2745 of file longrat.cc.
Definition at line 701 of file longrat.cc.
Definition at line 898 of file longrat.cc.
Definition at line 979 of file longrat.cc.
Definition at line 751 of file longrat.cc.
Definition at line 2593 of file longrat.cc.
Definition at line 506 of file longrat.cc.
Definition at line 206 of file longrat.cc.
Definition at line 425 of file longrat.cc.
Definition at line 223 of file longrat.cc.
Definition at line 189 of file longrat.cc.
Definition at line 2427 of file longrat.cc.
Definition at line 395 of file longrat.cc.
Definition at line 211 of file longrat.cc.
Definition at line 1538 of file longrat.cc.
Definition at line 2779 of file longrat.cc.
Definition at line 2697 of file longrat.cc.
Definition at line 2642 of file longrat.cc.
Definition at line 1447 of file longrat.cc.
|
static |
Definition at line 1765 of file longrat.cc.
Definition at line 1491 of file longrat.cc.
Definition at line 1215 of file longrat.cc.
Definition at line 1071 of file longrat.cc.
Definition at line 2840 of file longrat.cc.
|
static |
Definition at line 31 of file longrat0.cc.
Definition at line 3334 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2490 of file longrat.cc.
Definition at line 2446 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1426 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 672 of file longrat.cc.
Definition at line 2727 of file longrat.cc.
Definition at line 90 of file longrat0.cc.
Definition at line 3288 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2788 of file longrat.cc.
VAR int n_SwitchChinRem =0 |
Definition at line 3052 of file longrat.cc.