source: git/factory/cf_eval.h @ 8a30b1

spielwiese
Last change on this file since 8a30b1 was 362fc67, checked in by Martin Lee <martinlee84@…>, 12 years ago
chg: remove $Id$
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/* emacs edit mode for this file is -*- C++ -*- */
2
3#ifndef INCL_CF_EVAL_H
4#define INCL_CF_EVAL_H
5
6// #include "config.h"
7
8#ifndef NOSTREAMIO
9#ifdef HAVE_IOSTREAM
10#include <iostream>
11#define OSTREAM std::ostream
12#elif defined(HAVE_IOSTREAM_H)
13#include <iostream.h>
14#define OSTREAM ostream
15#endif
16#endif /* NOSTREAMIO */
17
18#include "canonicalform.h"
19
20/*BEGINPUBLIC*/
21
22class Evaluation
23{
24protected:
25    CFArray values;
26public:
27    Evaluation() : values() {}
28    Evaluation( int min0, int max0 ) : values( min0, max0 ) {}
29    Evaluation( const Evaluation & e ) : values( e.values ) {}
30    virtual ~Evaluation() {}
31    Evaluation& operator= ( const Evaluation & e );
32    int min() const { return values.min(); }
33    int max() const { return values.max(); }
34    CanonicalForm operator[] ( int i ) const { return values[i]; }
35    CanonicalForm operator[] ( const Variable & v ) const { return operator[](v.level()); }
36    CanonicalForm operator() ( const CanonicalForm& f ) const;
37    CanonicalForm operator() ( const CanonicalForm & f, int i, int j ) const;
38    void setValue (int i, const CanonicalForm& f);
39    virtual void nextpoint();
40#ifndef NOSTREAMIO
41    friend OSTREAM& operator<< ( OSTREAM& s, const Evaluation &e );
42#endif /* NOSTREAMIO */
43};
44
45/*ENDPUBLIC*/
46
47#endif /* ! INCL_CF_EVAL_H */
Note: See TracBrowser for help on using the repository browser.