20 #define OSTREAM std::ostream 21 #elif defined(HAVE_IOSTREAM_H) 23 #define OSTREAM ostream 43 #define FACTORY_INT64 long long int 54 #if defined(WINNT) && ! defined(__GNUC__) 68 return ((intptr_t)imm) >> 2;
81 if ( ((
int)((intptr_t)imm)) < 0 )
82 return -((-(intptr_t)imm) >> 2);
84 return (intptr_t)imm >> 2;
113 return ( (intptr_t)ptr & 3 );
332 if ( ( a!=0L ) && ((result/aa!=bb) || (result>(
unsigned FACTORY_INT64)
MAXIMMEDIATE) ))
359 return int2imm( -((b-a-1)/b) );
361 return int2imm( (-a-b-1)/(-b) );
374 return int2imm( -((b-a-1)/b) );
376 return int2imm( (-a-b-1)/(-b) );
405 return int2imm( (r==0) ? r : b-r );
408 long r = (-
a) % (-b);
409 return int2imm( (r==0) ? r : -b-r );
int imm_iszero_p(const InternalCF *const ptr)
InternalCF * imm_mod_p(const InternalCF *const, const InternalCF *const )
InternalCF * imm_sub(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * imm_neg_p(const InternalCF *const op)
InternalCF * imm_mod(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * int2imm(long i)
void gf_print(OSTREAM &os, int a)
InternalCF * imm_mul_gf(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * imm_add_gf(const InternalCF *const lhs, const InternalCF *const rhs)
int ff_mul(const int a, const int b)
const FACTORY_INT64 MAXIMMEDIATELL
const FACTORY_INT64 MINIMMEDIATELL
InternalCF * imm_div_p(const InternalCF *const lhs, const InternalCF *const rhs)
int imm_cmp_p(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * int2imm_p(long i)
InternalCF * imm_div_gf(const InternalCF *const lhs, const InternalCF *const rhs)
int imm_cmp(const InternalCF *const lhs, const InternalCF *const rhs)
imm_cmp(), imm_cmp_p(), imm_cmp_gf() - compare immediate objects.
virtual class for internal CanonicalForm's
int imm_isone_p(const InternalCF *const ptr)
int ff_div(const int a, const int b)
void imm_divrem(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
void imm_divrem_gf(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
int imm_iszero_gf(const InternalCF *const ptr)
Operations in GF, where GF is a finite field of size less than 2^16 represented by a root of Conway p...
static InternalCF * rational(long num, long den)
InternalCF * imm_div(const InternalCF *const lhs, const InternalCF *const rhs)
int imm_iszero(const InternalCF *const ptr)
int ff_sub(const int a, const int b)
Interface to generate InternalCF's over various domains from intrinsic types or mpz_t's.
long imm_intval(const InternalCF *const op)
static const int SW_RATIONAL
set to 1 for computations over Q
InternalCF * int2imm_gf(long i)
static InternalCF * basic(long value)
InternalCF * imm_sub_gf(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * imm_neg(const InternalCF *const op)
InternalCF * imm_mul(InternalCF *lhs, InternalCF *rhs)
InternalCF * imm_sub_p(const InternalCF *const lhs, const InternalCF *const rhs)
int ff_add(const int a, const int b)
void imm_print(OSTREAM &os, const InternalCF *const op, const char *const str)
long imm2int(const InternalCF *const imm)
InternalCF * imm_mul_p(const InternalCF *const lhs, const InternalCF *const rhs)
InternalCF * imm_divrat(const InternalCF *const lhs, const InternalCF *const rhs)
int imm_sign(const InternalCF *const op)
imm_sign() - return sign of immediate object.
InternalCF * imm_neg_gf(const InternalCF *const op)
int imm_isone_gf(const InternalCF *const ptr)
void imm_divrem_p(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
int imm_isone(const InternalCF *const ptr)
InternalCF * imm_mod_gf(const InternalCF *const, const InternalCF *const )
InternalCF * imm_add(const InternalCF *const lhs, const InternalCF *const rhs)
#define cf_glob_switches
CFSwitches cf_glob_switches;.
Factory's internal CanonicalForm's.
InternalCF * imm_add_p(const InternalCF *const lhs, const InternalCF *const rhs)
virtual InternalCF * mulcoeff(InternalCF *) PVIRT_INTCF("mulcoeff")
#define ASSERT(expression, message)
int imm_cmp_gf(const InternalCF *const lhs, const InternalCF *const rhs)
static const int SW_SYMMETRIC_FF
set to 1 for symmetric representation over F_q
operations in a finite prime field F_p.
int ff_symmetric(const int a)