![]() |
#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 | nlChineseRemainder (number *x, number *q, int rl, const coeffs C) |
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 r) |
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 Q, const coeffs Zp) |
void | nlGMP (number &i, number 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 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... | |
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 147 of file longrat.cc.
Definition at line 1645 of file longrat.cc.
#define LINLINE |
Definition at line 26 of file longrat.cc.
#define LONG int |
Definition at line 106 of file longrat.cc.
#define LONGRAT_CC |
Definition at line 134 of file longrat.cc.
#define MAX_NUM_SIZE 28 |
Definition at line 103 of file longrat.cc.
#define MP_SMALL 1 |
Definition at line 155 of file longrat.cc.
Definition at line 157 of file longrat.cc.
Definition at line 159 of file longrat.cc.
Definition at line 158 of file longrat.cc.
#define POW_2_28 (1L<<28) |
Definition at line 104 of file longrat.cc.
#define POW_2_28_32 (1L<<28) |
Definition at line 105 of file longrat.cc.
number _nlAdd_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1667 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1593 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1614 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1546 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1825 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2175 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2188 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1632 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1964 of file longrat.cc.
|
static |
Definition at line 1261 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 2513 of file longrat.cc.
number nlBigInt | ( | number & | n | ) |
Definition at line 635 of file longrat.cc.
Definition at line 2951 of file longrat.cc.
number nlChineseRemainderSym | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | CF | ||
) |
Definition at line 2917 of file longrat.cc.
|
static |
Definition at line 2957 of file longrat.cc.
|
static |
Definition at line 3048 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3268 of file longrat.cc.
Definition at line 3142 of file longrat.cc.
Definition at line 3148 of file longrat.cc.
Definition at line 2908 of file longrat.cc.
|
static |
Definition at line 376 of file longrat.cc.
|
static |
Definition at line 338 of file longrat.cc.
Definition at line 2465 of file longrat.cc.
Definition at line 2296 of file longrat.cc.
Definition at line 246 of file longrat.cc.
Definition at line 2478 of file longrat.cc.
Definition at line 990 of file longrat.cc.
Definition at line 926 of file longrat.cc.
Definition at line 940 of file longrat.cc.
Definition at line 2409 of file longrat.cc.
Definition at line 733 of file longrat.cc.
Definition at line 2859 of file longrat.cc.
Definition at line 2790 of file longrat.cc.
Definition at line 1190 of file longrat.cc.
Definition at line 1486 of file longrat.cc.
Definition at line 1515 of file longrat.cc.
Definition at line 951 of file longrat.cc.
Definition at line 1465 of file longrat.cc.
Definition at line 1163 of file longrat.cc.
Definition at line 1153 of file longrat.cc.
Definition at line 2418 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 2356 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 2369 of file longrat.cc.
Definition at line 3304 of file longrat.cc.
Definition at line 2640 of file longrat.cc.
Definition at line 2531 of file longrat.cc.
Definition at line 2757 of file longrat.cc.
Definition at line 2772 of file longrat.cc.
Definition at line 2597 of file longrat.cc.
Definition at line 603 of file longrat.cc.
Definition at line 784 of file longrat.cc.
Definition at line 865 of file longrat.cc.
Definition at line 653 of file longrat.cc.
Definition at line 1178 of file longrat.cc.
Definition at line 2436 of file longrat.cc.
Definition at line 981 of file longrat.cc.
Definition at line 2445 of file longrat.cc.
Definition at line 3280 of file longrat.cc.
Definition at line 206 of file longrat.cc.
Definition at line 433 of file longrat.cc.
Definition at line 231 of file longrat.cc.
Definition at line 189 of file longrat.cc.
Definition at line 403 of file longrat.cc.
Definition at line 219 of file longrat.cc.
Definition at line 1423 of file longrat.cc.
Definition at line 2631 of file longrat.cc.
Definition at line 2549 of file longrat.cc.
Definition at line 2494 of file longrat.cc.
Definition at line 1332 of file longrat.cc.
|
static |
Definition at line 1647 of file longrat.cc.
Definition at line 1376 of file longrat.cc.
Definition at line 1100 of file longrat.cc.
Definition at line 956 of file longrat.cc.
Definition at line 2704 of file longrat.cc.
|
static |
Definition at line 3290 of file longrat.cc.
Definition at line 57 of file longrat0.cc.
Definition at line 3206 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2342 of file longrat.cc.
Definition at line 2305 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1311 of file longrat.cc.
|
inlinestatic |
Definition at line 110 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 170 of file longrat.cc.
Definition at line 574 of file longrat.cc.
Definition at line 2579 of file longrat.cc.
Definition at line 116 of file longrat0.cc.
Definition at line 3160 of file longrat.cc.
number nlXExtGcd | ( | number | a, |
number | b, | ||
number * | s, | ||
number * | t, | ||
number * | u, | ||
number * | v, | ||
const coeffs | r | ||
) |
Definition at line 2652 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2916 of file longrat.cc.