Loading...
Searching...
No Matches
cf_factory.h
Go to the documentation of this file.
/* emacs edit mode for this file is -*- C++ -*- */
/**
* @file cf_factory.h
*
* Interface to generate InternalCF's over various domains from intrinsic types
* or mpz_t's
**/
#ifndef INCL_CF_FACTORY_H
#define INCL_CF_FACTORY_H
// #include "config.h"
#include "cf_defs.h"
#include "variable.h"
#include "factory/cf_gmp.h"
#include "cf_assert.h"
class InternalCF;
class CanonicalForm;
class CFFactory
{
private:
static int currenttype;
public:
static int gettype () { return currenttype; }
static void settype ( int type )
{
ASSERT( type==FiniteFieldDomain || type==GaloisFieldDomain || type==IntegerDomain || type==RationalDomain || type==PrimePowerDomain, "illegal basic domain!" );
currenttype = type;
};
static InternalCF * basic ( int value );
static InternalCF * basic ( long value );
static InternalCF * basic ( int type, long value );
static InternalCF * basic ( const char * str );
static InternalCF * basic ( const char * str, int base );
static InternalCF * basic ( int type, const char * const str );
static InternalCF * basic ( int type, long value, bool nonimm );
static InternalCF * basic ( const mpz_ptr num );
static InternalCF * rational ( long num, long den );
static InternalCF * rational ( const mpz_ptr num, const mpz_ptr den, bool normalize );
static InternalCF * poly ( const Variable & v, int exp, const CanonicalForm & c );
static InternalCF * poly ( const Variable & v, int exp = 1 );
};
void getmpi ( InternalCF * value, mpz_t mpi);
#endif /* ! INCL_CF_FACTORY_H */
num
CanonicalForm num(const CanonicalForm &f)
Definition canonicalform.h:337
den
CanonicalForm den(const CanonicalForm &f)
Definition canonicalform.h:340
cf_assert.h
assertions for Factory
ASSERT
#define ASSERT(expression, message)
Definition cf_assert.h:99
cf_defs.h
factory switches.
PrimePowerDomain
#define PrimePowerDomain
Definition cf_defs.h:17
FiniteFieldDomain
#define FiniteFieldDomain
Definition cf_defs.h:19
RationalDomain
#define RationalDomain
Definition cf_defs.h:20
IntegerDomain
#define IntegerDomain
Definition cf_defs.h:21
GaloisFieldDomain
#define GaloisFieldDomain
Definition cf_defs.h:18
getmpi
void getmpi(InternalCF *value, mpz_t mpi)
Definition cf_factory.cc:303
cf_gmp.h
CFFactory
Definition cf_factory.h:24
CFFactory::basic
static InternalCF * basic(int value)
Definition cf_factory.cc:61
CFFactory::gettype
static int gettype()
Definition cf_factory.h:28
CFFactory::poly
static InternalCF * poly(const Variable &v, int exp, const CanonicalForm &c)
Definition cf_factory.cc:286
CFFactory::rational
static InternalCF * rational(long num, long den)
Definition cf_factory.cc:268
CFFactory::currenttype
static int currenttype
Definition cf_factory.h:26
CFFactory::settype
static void settype(int type)
Definition cf_factory.h:29
CanonicalForm
factory's main class
Definition canonicalform.h:86
InternalCF
virtual class for internal CanonicalForm's
Definition int_cf.h:47
Variable
factory's class for variables
Definition factory.h:127
v
const Variable & v
< [in] a sqrfree bivariate poly
Definition facBivar.h:39
exp
gmp_float exp(const gmp_float &a)
Definition mpr_complex.cc:349
normalize
static poly normalize(poly next_p, ideal add_generators, syStrategy syzstr, int *g_l, int *p_l, int crit_comp)
Definition syz3.cc:1027
variable.h
operations on variables