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