ECF 1.7
Add.h
1#ifndef CGPAdd_h
2#define CGPAdd_h
3#include "Function.h"
4
5namespace Cartesian
6{
7 template <class T>
8 class AddT : public Function
9 {
10 public:
11 AddT();
12 ~AddT();
13
14 void evaluate(std::vector<T>& inputs, T& result);
15 };
16
17 typedef AddT<double> Add;
18
19 template <class T>
20 AddT<T>::AddT()
21 {
22 name_ = "+";
23 nArguments_ = 2;
24 }
25
26
27 template <class T>
28 AddT<T>::~AddT()
29 {}
30
31 template <class T>
32 void AddT<T>::evaluate(std::vector<T>& inputs, T& result)
33 {
34 T sum = inputs[0];
35 for (uint i = 1; i < nArguments_; i++) {
36 sum += inputs[i];
37 }
38
39 result = sum;
40 }
41
42}
43
44#endif /* Add_h */