00001 #ifndef SUNDANCE_UNARYMINUSEVALUATOR_H 00002 #define SUNDANCE_UNARYMINUSEVALUATOR_H 00003 00004 #include "SundanceDefs.hpp" 00005 #include "SundanceUnaryEvaluator.hpp" 00006 #include "Teuchos_TimeMonitor.hpp" 00007 00008 00009 namespace Sundance 00010 { 00011 class UnaryMinus; 00012 00013 /** 00014 * 00015 */ 00016 class UnaryMinusEvaluator : public UnaryEvaluator<UnaryMinus> 00017 { 00018 public: 00019 /** */ 00020 UnaryMinusEvaluator(const UnaryMinus* expr, 00021 const EvalContext& context); 00022 00023 /** */ 00024 virtual ~UnaryMinusEvaluator(){;} 00025 00026 /** */ 00027 virtual void internalEval(const EvalManager& mgr, 00028 Array<double>& constantResults, 00029 Array<RCP<EvalVector> >& vectorResults) const ; 00030 00031 /** */ 00032 TEUCHOS_TIMER(evalTimer, "unary minus evaluation"); 00033 private: 00034 }; 00035 } 00036 00037 00038 #endif