source: git/factory/cf_factory.h @ 6ce030f

spielwiese
Last change on this file since 6ce030f was 362fc67, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: remove $Id$
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2
3#ifndef INCL_CF_FACTORY_H
4#define INCL_CF_FACTORY_H
5
6// #include "config.h"
7
8#include "cf_defs.h"
9#include "variable.h"
10
11#include <factory/cf_gmp.h>
12
13class InternalCF;
14class CanonicalForm;
15
16class CFFactory
17{
18private:
19    static int currenttype;
20public:
21    static int gettype () { return currenttype; }
22    static void settype ( int type );
23    static InternalCF * basic ( int value );
24    static InternalCF * basic ( int type, int value );
25    static InternalCF * basic ( const char * str );
26    static InternalCF * basic ( const char * str, int base );
27    static InternalCF * basic ( int type, const char * const str );
28    static InternalCF * basic ( int type, int value, bool nonimm );
29    static InternalCF * basic ( const mpz_ptr num );
30    static InternalCF * rational ( int num, int den );
31    static InternalCF * rational ( const mpz_ptr num, const mpz_ptr den, bool normalize );
32    static InternalCF * poly ( const Variable & v, int exp, const CanonicalForm & c );
33    static InternalCF * poly ( const Variable & v, int exp = 1 );
34};
35
36mpz_ptr getmpi ( InternalCF * value, bool symmetric = true );
37
38#endif /* ! INCL_CF_FACTORY_H */
Note: See TracBrowser for help on using the repository browser.