![]() |
My Project
debian-1:4.1.1-p2+ds-4build4
|
#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 "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) |
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 142 of file longrat.cc.
Definition at line 1658 of file longrat.cc.
#define LINLINE |
Definition at line 32 of file longrat.cc.
#define LONG int |
Definition at line 111 of file longrat.cc.
#define LONGRAT_CC |
Definition at line 139 of file longrat.cc.
#define MAX_NUM_SIZE 28 |
Definition at line 108 of file longrat.cc.
#define MP_SMALL 1 |
Definition at line 150 of file longrat.cc.
Definition at line 152 of file longrat.cc.
Definition at line 154 of file longrat.cc.
Definition at line 153 of file longrat.cc.
#define nlTest | ( | a, | |
r | |||
) | nlDBTest(a,__FILE__,__LINE__, r) |
Definition at line 93 of file longrat.cc.
#define POW_2_28 (1L<<28) |
Definition at line 109 of file longrat.cc.
#define POW_2_28_32 (1L<<28) |
Definition at line 110 of file longrat.cc.
number _nlAdd_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1680 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1606 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1627 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1559 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1838 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2192 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2205 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1645 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1981 of file longrat.cc.
|
static |
Definition at line 1274 of file longrat.cc.
void mpz_mul_si | ( | mpz_ptr | r, |
mpz_srcptr | s, | ||
long int | si | ||
) |
Definition at line 172 of file longrat.cc.
Definition at line 2530 of file longrat.cc.
Definition at line 631 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 2936 of file longrat.cc.
|
static |
Definition at line 2980 of file longrat.cc.
|
static |
Definition at line 3071 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3286 of file longrat.cc.
Definition at line 3165 of file longrat.cc.
Definition at line 3171 of file longrat.cc.
Definition at line 2927 of file longrat.cc.
|
static |
Definition at line 370 of file longrat.cc.
|
static |
Definition at line 332 of file longrat.cc.
Definition at line 2482 of file longrat.cc.
Definition at line 2313 of file longrat.cc.
Definition at line 240 of file longrat.cc.
Definition at line 2495 of file longrat.cc.
Definition at line 1003 of file longrat.cc.
Definition at line 938 of file longrat.cc.
Definition at line 952 of file longrat.cc.
Definition at line 2426 of file longrat.cc.
Definition at line 729 of file longrat.cc.
number nlExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
const | coeffs | ||
) |
Definition at line 2878 of file longrat.cc.
Definition at line 2807 of file longrat.cc.
Definition at line 1203 of file longrat.cc.
Definition at line 1499 of file longrat.cc.
Definition at line 1528 of file longrat.cc.
Definition at line 963 of file longrat.cc.
Definition at line 1478 of file longrat.cc.
Definition at line 1176 of file longrat.cc.
Definition at line 2435 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 2373 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 2386 of file longrat.cc.
Definition at line 3322 of file longrat.cc.
|
static |
Definition at line 2657 of file longrat.cc.
Definition at line 2548 of file longrat.cc.
Definition at line 2789 of file longrat.cc.
Definition at line 2614 of file longrat.cc.
Definition at line 599 of file longrat.cc.
Definition at line 796 of file longrat.cc.
Definition at line 877 of file longrat.cc.
Definition at line 649 of file longrat.cc.
Definition at line 2462 of file longrat.cc.
Definition at line 201 of file longrat.cc.
Definition at line 427 of file longrat.cc.
Definition at line 225 of file longrat.cc.
Definition at line 184 of file longrat.cc.
Definition at line 397 of file longrat.cc.
Definition at line 213 of file longrat.cc.
Definition at line 1436 of file longrat.cc.
Definition at line 2648 of file longrat.cc.
Definition at line 2566 of file longrat.cc.
Definition at line 2511 of file longrat.cc.
Definition at line 1345 of file longrat.cc.
|
static |
Definition at line 1660 of file longrat.cc.
Definition at line 1389 of file longrat.cc.
Definition at line 1113 of file longrat.cc.
Definition at line 969 of file longrat.cc.
Definition at line 2721 of file longrat.cc.
|
static |
Definition at line 54 of file longrat0.cc.
|
static |
Definition at line 3224 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2359 of file longrat.cc.
Definition at line 2322 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1324 of file longrat.cc.
|
inlinestatic |
Definition at line 115 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 165 of file longrat.cc.
int nlSize | ( | number | a, |
const | coeffs | ||
) |
Definition at line 570 of file longrat.cc.
Definition at line 2596 of file longrat.cc.
Definition at line 113 of file longrat0.cc.
|
static |
Definition at line 3178 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2669 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2935 of file longrat.cc.