![]() |
#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 | MPZ_DIV(A, B, C) mpz_tdiv_q((A),(B),(C)) |
#define | MPZ_EXACTDIV(A, B, C) mpz_divexact((A),(B),(C)) |
#define | SSI_BASE 16 |
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) |
number | nlGetDenom (number &n, const coeffs r) |
number | nlGetNumerator (number &n, 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, 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) |
BOOLEAN | nlDBTest (number a, const char *f, const int l, 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) |
number | nlShort1 (number x) |
number | nlModP (number q, const coeffs Q, const coeffs Zp) |
void | nlGMP (number &i, number n, const coeffs r) |
BOOLEAN | _nlEqual_aNoImm_OR_bNoImm (number a, number b) |
number | _nlCopy_NoImm (number a) |
number | _nlNeg_NoImm (number a) |
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) |
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 149 of file longrat.cc.
#define LINLINE |
Definition at line 26 of file longrat.cc.
#define LONG int |
Definition at line 108 of file longrat.cc.
#define LONGRAT_CC |
Definition at line 136 of file longrat.cc.
#define MAX_NUM_SIZE 28 |
Definition at line 105 of file longrat.cc.
#define MP_SMALL 1 |
Definition at line 157 of file longrat.cc.
Definition at line 163 of file longrat.cc.
Definition at line 159 of file longrat.cc.
Definition at line 161 of file longrat.cc.
Definition at line 160 of file longrat.cc.
#define POW_2_28 (1L<<28) |
Definition at line 106 of file longrat.cc.
#define POW_2_28_32 (1L<<28) |
Definition at line 107 of file longrat.cc.
#define SSI_BASE 16 |
Definition at line 2992 of file longrat.cc.
number _nlAdd_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1589 of file longrat.cc.
number _nlCopy_NoImm | ( | number | a | ) |
Definition at line 1538 of file longrat.cc.
void _nlDelete_NoImm | ( | number * | a | ) |
Definition at line 1559 of file longrat.cc.
BOOLEAN _nlEqual_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1491 of file longrat.cc.
void _nlInpAdd_aNoImm_OR_bNoImm | ( | number & | a, |
number | b | ||
) |
Definition at line 1755 of file longrat.cc.
number _nlMult_aImm_bImm_rNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2118 of file longrat.cc.
number _nlMult_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 2131 of file longrat.cc.
number _nlNeg_NoImm | ( | number | a | ) |
Definition at line 1577 of file longrat.cc.
number _nlSub_aNoImm_OR_bNoImm | ( | number | a, |
number | b | ||
) |
Definition at line 1894 of file longrat.cc.
void mpz_mul_si | ( | mpz_ptr | r, |
mpz_srcptr | s, | ||
long int | si | ||
) |
Definition at line 181 of file longrat.cc.
Definition at line 2452 of file longrat.cc.
number nlBigInt | ( | number & | n | ) |
Definition at line 638 of file longrat.cc.
Definition at line 2788 of file longrat.cc.
number nlChineseRemainderSym | ( | number * | x, |
number * | q, | ||
int | rl, | ||
BOOLEAN | sym, | ||
CFArray & | inv_cache, | ||
const coeffs | CF | ||
) |
Definition at line 2754 of file longrat.cc.
|
static |
Definition at line 2794 of file longrat.cc.
|
static |
Definition at line 2885 of file longrat.cc.
BOOLEAN nlCoeffIsEqual | ( | const coeffs | r, |
n_coeffType | n, | ||
void * | p | ||
) |
Definition at line 3102 of file longrat.cc.
Definition at line 2979 of file longrat.cc.
Definition at line 2985 of file longrat.cc.
Definition at line 2745 of file longrat.cc.
|
static |
Definition at line 380 of file longrat.cc.
|
static |
Definition at line 342 of file longrat.cc.
Definition at line 2404 of file longrat.cc.
Definition at line 2235 of file longrat.cc.
Definition at line 250 of file longrat.cc.
Definition at line 2417 of file longrat.cc.
Definition at line 978 of file longrat.cc.
Definition at line 911 of file longrat.cc.
Definition at line 925 of file longrat.cc.
Definition at line 2348 of file longrat.cc.
Definition at line 735 of file longrat.cc.
Definition at line 2711 of file longrat.cc.
Definition at line 2642 of file longrat.cc.
Definition at line 1178 of file longrat.cc.
Definition at line 1431 of file longrat.cc.
Definition at line 1460 of file longrat.cc.
Definition at line 936 of file longrat.cc.
Definition at line 1410 of file longrat.cc.
Definition at line 1151 of file longrat.cc.
Definition at line 1141 of file longrat.cc.
Definition at line 2357 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 2295 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 2308 of file longrat.cc.
Definition at line 3138 of file longrat.cc.
Definition at line 2579 of file longrat.cc.
Definition at line 2470 of file longrat.cc.
Definition at line 2588 of file longrat.cc.
Definition at line 2603 of file longrat.cc.
Definition at line 2536 of file longrat.cc.
Definition at line 606 of file longrat.cc.
Definition at line 786 of file longrat.cc.
Definition at line 852 of file longrat.cc.
Definition at line 656 of file longrat.cc.
Definition at line 1166 of file longrat.cc.
Definition at line 2375 of file longrat.cc.
Definition at line 969 of file longrat.cc.
Definition at line 2384 of file longrat.cc.
Definition at line 3114 of file longrat.cc.
Definition at line 210 of file longrat.cc.
Definition at line 435 of file longrat.cc.
Definition at line 235 of file longrat.cc.
Definition at line 193 of file longrat.cc.
Definition at line 405 of file longrat.cc.
Definition at line 223 of file longrat.cc.
Definition at line 1368 of file longrat.cc.
Definition at line 2570 of file longrat.cc.
Definition at line 2488 of file longrat.cc.
Definition at line 2433 of file longrat.cc.
Definition at line 1277 of file longrat.cc.
Definition at line 1321 of file longrat.cc.
Definition at line 1088 of file longrat.cc.
Definition at line 944 of file longrat.cc.
|
static |
Definition at line 3124 of file longrat.cc.
Definition at line 57 of file longrat0.cc.
Definition at line 3040 of file longrat.cc.
number nlRInit | ( | long | i | ) |
Definition at line 2281 of file longrat.cc.
Definition at line 2244 of file longrat.cc.
number nlShort1 | ( | number | x | ) |
Definition at line 1256 of file longrat.cc.
|
inlinestatic |
Definition at line 112 of file longrat.cc.
number nlShort3_noinline | ( | number | x | ) |
Definition at line 174 of file longrat.cc.
Definition at line 577 of file longrat.cc.
Definition at line 2518 of file longrat.cc.
Definition at line 117 of file longrat0.cc.
Definition at line 2994 of file longrat.cc.
int n_SwitchChinRem =0 |
Definition at line 2753 of file longrat.cc.