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" |