![]() |
My Project
UNKNOWN_GIT_VERSION
|
#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) |
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 | |
int | n_SwitchChinRem =0 |
#define BYTES_PER_MP_LIMB sizeof(mp_limb_t) |
Definition at line 142 of file longrat.cc.
Definition at line 1661 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 1683 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 1841 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2195 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2208 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1648 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1984 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 2533 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 2939 of file longrat.cc.
|
static |
Definition at line 2983 of file longrat.cc.
|
static |
Definition at line 3074 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3290 of file longrat.cc.
Definition at line 3168 of file longrat.cc.
Definition at line 3174 of file longrat.cc.
Definition at line 2930 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 2485 of file longrat.cc.
Definition at line 2316 of file longrat.cc.
Definition at line 240 of file longrat.cc.
Definition at line 2498 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 2429 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 2881 of file longrat.cc.
Definition at line 2810 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 2438 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 2376 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 2389 of file longrat.cc.
Definition at line 3326 of file longrat.cc.
|
static |
Definition at line 2660 of file longrat.cc.
Definition at line 2551 of file longrat.cc.
Definition at line 2792 of file longrat.cc.
Definition at line 2617 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 2465 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 2651 of file longrat.cc.
Definition at line 2569 of file longrat.cc.
Definition at line 2514 of file longrat.cc.
Definition at line 1345 of file longrat.cc.
|
static |
Definition at line 1663 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 2724 of file longrat.cc.
|
static |
Definition at line 32 of file longrat0.cc.
Definition at line 3227 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2362 of file longrat.cc.
Definition at line 2325 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 2599 of file longrat.cc.
Definition at line 91 of file longrat0.cc.
Definition at line 3181 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2672 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2938 of file longrat.cc.