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