ECF 1.7
Log.h
1#ifndef Log_h
2#define Log_h
3#include "Primitive.h"
4#include <cmath>
5
6namespace Tree {
7namespace Primitives {
8
9class Log : public Primitive
10{
11 public:
12 Log(void)
13 {
14 nArguments_ = 1;
15 name_ = "log";
16 }
17
18 ~Log(void)
19 { }
20
21 void execute(void* result, Tree& tree)
22 {
23 double& arg = *(double*)result;
24 getNextArgument(&arg, tree);
25 if (arg > 0) {
26 arg = log10(arg);
27 }
28 else {
29 arg = 0;
30 }
31 }
32};
33
34}
35}
36
37#endif
void execute(void *result, Tree &tree)
Execute the primitive.
Definition Log.h:21
void getNextArgument(void *result, Tree &tree)
Execute next child node's primitive (execute next subtree).
Definition Primitive.cpp:71
Tree class - implements genotype as a tree.
Definition Tree_c.h:29