diff options
| author | Carlo Zancanaro <carlo@carlo-laptop> | 2012-04-27 13:33:58 +1000 | 
|---|---|---|
| committer | Carlo Zancanaro <carlo@carlo-laptop> | 2012-04-27 13:33:58 +1000 | 
| commit | 2c22cee1f8fa87c527449a8bdc668ea311fdaf64 (patch) | |
| tree | 561d7cc1193765418d402c2265aeb39837c101a7 /impl/Operator.hpp | |
| parent | 76a4f0fcf3a9bf54ef910cdb2c0bebea37182391 (diff) | |
Bit more work. maxFixpoint should be working now.
Diffstat (limited to 'impl/Operator.hpp')
| -rw-r--r-- | impl/Operator.hpp | 15 | 
1 files changed, 13 insertions, 2 deletions
diff --git a/impl/Operator.hpp b/impl/Operator.hpp index d6b92f2..3e11443 100644 --- a/impl/Operator.hpp +++ b/impl/Operator.hpp @@ -34,9 +34,9 @@ struct Maximum : public Operator<T> {    }  };  template<typename T> -struct Minimumm : public Operator<T> { +struct Minimum : public Operator<T> {    virtual T operator() (const std::vector< Expression<T>* >& args, const VariableAssignment<T>& assignment) const { -    T value = -infinity<T>(); +    T value = infinity<T>();      for (typename std::vector< Expression<T>* >::const_iterator it = args.begin();           it != args.end();           ++it) { @@ -47,6 +47,17 @@ struct Minimumm : public Operator<T> {    }  }; +template<typename T> +struct Constant : public Operator<T> { +  Constant(const T& val) +    : _value(val) { } +  T operator() (const std::vector< Expression<T>* >& args, const VariableAssignment<T>& ass) const { +    return _value; +  } +  private: +  const T _value; +}; +  #include "VariableAssignment.hpp"  #include "Expression.hpp"  | 
