15class TerminalT :
public Primitive
30TerminalT<T>::TerminalT()
37TerminalT<T>::~TerminalT(
void)
85class ERC :
public Primitive
88 std::string baseName_;
108 name_.erase(name_.end() - 1);
109 std::stringstream ss;
126 T& res = *(T*)result;
153 return (PrimitiveP)
new ERC<T>(*
this);
163 ERC<T> *erc =
new ERC<T>(*
this);
165 uint iData = state_->getRandomizer()->getRandomInteger((
int)
values_->size());
166 erc->value_ =
values_->at(iData);
167 std::ostringstream ss;
169 erc->
setName(name_ + ss.str());
170 return (PrimitiveP) erc;
194 values_ =
new std::vector<double>;
196 if(name_[name_.size() - 1] ==
'}')
197 useInterval_ =
false;
198 name_.erase(name_.end() - 1);
199 std::stringstream ss;
220 double r = state_->getRandomizer()->getRandomDouble();
221 erc->value_ = (*values_)[0] + r * ((*values_)[1] - (*values_)[0]);
225 uint iData = state_->getRandomizer()->getRandomInteger((
int)
values_->size());
226 erc->value_ =
values_->at(iData);
228 std::ostringstream ss;
230 erc->
setName(name_ + ss.str());
231 return (PrimitiveP) erc;
Ephemereal random constant (ERC) node of type double (Tree genotype).
bool initialize(StateP state)
Initialize ERC value(s).
PrimitiveP assignToNode(PrimitiveP primitive)
Create (or choose) new unique ERC value and assign to tree node.
void getValue(void *value)
Get terminal's value.
std::vector< T > * values_
PrimitiveP assignToNode(PrimitiveP primitive)
Create (or choose) new unique ERC value and assign to tree node.
bool initialize(StateP state)
Initialize ERC value(s).
void setValue(void *value)
Set terminal's value.
PrimitiveP copyWithNode(PrimitiveP primitive)
Copy primitive (when copying a node, e.g. in crossover). The default behaviour just returns the same ...
void execute(void *result, Tree &tree)
Execute the primitive.
void setName(std::string name)
Set primitive's name.
Terminal tree node class (Tree genotype).
void setValue(void *value)
Set terminal's value.
void execute(void *result, Tree &tree)
Execute the primitive.
void getValue(void *value)
Get terminal's value.
Tree class - implements genotype as a tree.