source: git/factory/cf_factory.h @ 37f64cb

spielwiese
Last change on this file since 37f64cb was b52d27, checked in by Martin Lee <martinlee84@…>, 10 years ago
chg: more docu changes
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2
3/**
4 * @file cf_factory.h
5 *
6 * Interface to generate InternalCF's over various domains from intrinsic types
7 * or mpz_t's
8**/
9#ifndef INCL_CF_FACTORY_H
10#define INCL_CF_FACTORY_H
11
12// #include "config.h"
13
14#include "cf_defs.h"
15#include "variable.h"
16
17#include <factory/cf_gmp.h>
18
19class InternalCF;
20class CanonicalForm;
21
22class CFFactory
23{
24private:
25    static int currenttype;
26public:
27    static int gettype () { return currenttype; }
28    static void settype ( int type );
29    static InternalCF * basic ( long value );
30    static InternalCF * basic ( int type, long value );
31    static InternalCF * basic ( const char * str );
32    static InternalCF * basic ( const char * str, int base );
33    static InternalCF * basic ( int type, const char * const str );
34    static InternalCF * basic ( int type, long value, bool nonimm );
35    static InternalCF * basic ( const mpz_ptr num );
36    static InternalCF * rational ( long num, long den );
37    static InternalCF * rational ( const mpz_ptr num, const mpz_ptr den, bool normalize );
38    static InternalCF * poly ( const Variable & v, int exp, const CanonicalForm & c );
39    static InternalCF * poly ( const Variable & v, int exp = 1 );
40};
41
42void getmpi ( InternalCF * value, mpz_t mpi);
43
44#endif /* ! INCL_CF_FACTORY_H */
Note: See TracBrowser for help on using the repository browser.