20#define OSTREAM std::ostream 
   21#elif defined(HAVE_IOSTREAM_H) 
   23#define OSTREAM ostream 
   44#define FACTORY_INT64 long int 
   46#define FACTORY_INT64 long long int 
   58#if defined(WINNT) && ! defined(__GNUC__) 
   72    return ((intptr_t)imm) >> 2;
 
   85    if ( ((
long)(intptr_t)imm)) < 0 )
 
   86        return -((-(
long)(intptr_t)imm) >> 2);
 
   88        return (
long)(intptr_t)imm >> 2;
 
  117    return ( (intptr_t)ptr & 3 );
 
  338        return res->mulcoeff( rhs );
 
  344        return res->mulcoeff( rhs );
 
  417                long r = (-a) % (-
b);
 
  418                return int2imm( (r==0) ? r : -
b-r );
 
  481inline void imm_print ( 
OSTREAM & os, 
const InternalCF * 
const op, 
const char * 
const str )
 
#define ASSERT(expression, message)
 
static const int SW_RATIONAL
set to 1 for computations over Q
 
static const int SW_SYMMETRIC_FF
set to 1 for symmetric representation over F_q
 
Interface to generate InternalCF's over various domains from intrinsic types or mpz_t's.
 
INST_VAR CFSwitches cf_glob_switches
 
static InternalCF * basic(int value)
 
static InternalCF * rational(long num, long den)
 
bool isOn(int s) const
check if 's' is on
 
virtual class for internal CanonicalForm's
 
operations in a finite prime field F_p.
 
int ff_symmetric(const int a)
 
int ff_add(const int a, const int b)
 
int ff_div(const int a, const int b)
 
int ff_mul(const int a, const int b)
 
int ff_sub(const int a, const int b)
 
Operations in GF, where GF is a finite field of size less than 2^16 represented by a root of Conway p...
 
InternalCF * imm_div_p(const InternalCF *const lhs, const InternalCF *const rhs)
 
int imm_isone_p(const InternalCF *const ptr)
 
void imm_divrem_gf(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
 
static long imm2int(const InternalCF *const imm)
 
InternalCF * imm_div(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_add_gf(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_mod(const InternalCF *const lhs, const InternalCF *const rhs)
 
int imm_isone(const InternalCF *const ptr)
 
const FACTORY_INT64 MAXIMMEDIATELL
 
InternalCF * imm_mod_p(const InternalCF *const, const InternalCF *const)
 
InternalCF * int2imm_p(long i)
 
int imm_sign(const InternalCF *const op)
imm_sign() - return sign of immediate object.
 
int imm_cmp_p(const InternalCF *const lhs, const InternalCF *const rhs)
 
int imm_cmp_gf(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_mul_p(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_add_p(const InternalCF *const lhs, const InternalCF *const rhs)
 
int imm_iszero(const InternalCF *const ptr)
 
int imm_iszero_gf(const InternalCF *const ptr)
 
InternalCF * imm_mul_gf(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_add(const InternalCF *const lhs, const InternalCF *const rhs)
 
long imm_intval(const InternalCF *const op)
 
InternalCF * imm_div_gf(const InternalCF *const lhs, const InternalCF *const rhs)
 
const FACTORY_INT64 MINIMMEDIATELL
 
int imm_iszero_p(const InternalCF *const ptr)
 
InternalCF * imm_sub_p(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_neg_p(const InternalCF *const op)
 
InternalCF * int2imm_gf(long i)
 
int imm_isone_gf(const InternalCF *const ptr)
 
int imm_cmp(const InternalCF *const lhs, const InternalCF *const rhs)
imm_cmp(), imm_cmp_p(), imm_cmp_gf() - compare immediate objects.
 
static InternalCF * int2imm(long i)
 
void imm_divrem_p(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
 
InternalCF * imm_sub_gf(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_neg(const InternalCF *const op)
 
InternalCF * imm_sub(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_divrat(const InternalCF *const lhs, const InternalCF *const rhs)
 
InternalCF * imm_neg_gf(const InternalCF *const op)
 
InternalCF * imm_mod_gf(const InternalCF *const, const InternalCF *const)
 
InternalCF * imm_mul(InternalCF *lhs, InternalCF *rhs)
 
void imm_divrem(const InternalCF *const lhs, const InternalCF *const rhs, InternalCF *&q, InternalCF *&r)
 
Factory's internal CanonicalForm's.