source: git/factory/cf_factory.h @ 9c6887

spielwiese
Last change on this file since 9c6887 was daa556, checked in by Oleksandr Motsak <motsak@…>, 13 years ago
FIX: cf_gmp.h should be included after asser.h.... ??!?!
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2/* $Id$ */
3
4#ifndef INCL_CF_FACTORY_H
5#define INCL_CF_FACTORY_H
6
7#include <config.h>
8
9#include "cf_defs.h"
10#include "variable.h"
11#include "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 MP_INT & num );
30    static InternalCF * rational ( int num, int den );
31    static InternalCF * rational ( const MP_INT & num, const MP_INT & 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
36MP_INT getmpi ( InternalCF * value, bool symmetric = true );
37
38#endif /* ! INCL_CF_FACTORY_H */
Note: See TracBrowser for help on using the repository browser.