some template classes and functions which did not need

to be templates have been changed to normal classes and functions
with hard coded typed

This might help with M$VC++ 6.0 compatibility
This commit is contained in:
jeggermo 2001-12-04 21:15:16 +00:00
commit 7abbf595f7
2 changed files with 9 additions and 10 deletions

View file

@ -95,8 +95,7 @@ double _negate(double arg1)
// now let's define our tree nodes // now let's define our tree nodes
template<class TreeNode> void init(vector<Node> &initSequence)
void init(vector<TreeNode> &initSequence)
{ {
// we have only one variable (X) // we have only one variable (X)
@ -162,12 +161,12 @@ void init(vector<TreeNode> &initSequence)
}; };
template <class FType, class TreeNode>
class RegFitness: public eoEvalFunc< eoParseTree<FType, TreeNode> > class RegFitness: public eoEvalFunc< eoParseTree<FitnessType, Node> >
{ {
public: public:
typedef eoParseTree<FType, TreeNode> EoType; typedef eoParseTree<FitnessType, Node> EoType;
void operator()(EoType &_eo) void operator()(EoType &_eo)
{ {
@ -175,7 +174,7 @@ class RegFitness: public eoEvalFunc< eoParseTree<FType, TreeNode> >
vector< double > input(1); // the input variable(s) vector< double > input(1); // the input variable(s)
double output; double output;
double target; double target;
FType fitness; FitnessType fitness;
float x=0; float x=0;
@ -205,9 +204,9 @@ class RegFitness: public eoEvalFunc< eoParseTree<FType, TreeNode> >
RegFitness(eoValueParam<unsigned> &_generationCounter, vector< TreeNode > &initSequence, Parameters &_parameter) : eoEvalFunc<EoType>(), generationCounter(_generationCounter), parameter(_parameter) RegFitness(eoValueParam<unsigned> &_generationCounter, vector< Node > &initSequence, Parameters &_parameter) : eoEvalFunc<EoType>(), generationCounter(_generationCounter), parameter(_parameter)
{ {
init<TreeNode>(initSequence); init(initSequence);
best[NORMAL] = 1000; best[NORMAL] = 1000;
tree= "not found"; tree= "not found";
}; };
@ -221,7 +220,7 @@ class RegFitness: public eoEvalFunc< eoParseTree<FType, TreeNode> >
private: private:
eoValueParam<unsigned> &generationCounter; // so we know the current generation eoValueParam<unsigned> &generationCounter; // so we know the current generation
Parameters &parameter; // the parameters Parameters &parameter; // the parameters
FType best; // the best found fitness FitnessType best; // the best found fitness
string tree; string tree;
}; };

View file

@ -68,7 +68,7 @@ int main(int argc, char *argv[])
// create an instantiation of the fitness/evaluation function // create an instantiation of the fitness/evaluation function
// it initializes the initSequence vector // it initializes the initSequence vector
// the parameters are passed on as well // the parameters are passed on as well
RegFitness<FitnessType, Node > eval(generationCounter, initSequence, parameter); RegFitness eval(generationCounter, initSequence, parameter);
// Depth Initializor, defaults to grow method. // Depth Initializor, defaults to grow method.
eoParseTreeDepthInit<FitnessType, Node> initializer(parameter.InitMaxDepth, initSequence); eoParseTreeDepthInit<FitnessType, Node> initializer(parameter.InitMaxDepth, initSequence);