diff --git a/ParadisEO-GPU/src/eval/moCudaEvalFunc.h b/ParadisEO-GPU/src/eval/moCudaEvalFunc.h index e22acd259..2105ff888 100644 --- a/ParadisEO-GPU/src/eval/moCudaEvalFunc.h +++ b/ParadisEO-GPU/src/eval/moCudaEvalFunc.h @@ -32,3 +32,49 @@ Contact: paradiseo-help@lists.gforge.inria.fr */ + +#ifndef __moCudaEvalFunc_H +#define __moCudaEvalFunc_H + +/** + * Abstract class for CUDA evaluation of neighbor + */ + +template +class moCudaEvalFunc { + +public: + + /** + * Define type of a solution corresponding to Neighbor + */ + + typedef typename Neighbor::EOT EOT; + typedef typename EOT::Fitness Fitness; + + /** + * Constructor + */ + + moCudaEvalFunc() { + } + + /** + * Destructor + */ + + ~moCudaEvalFunc() { + } + + /** + *Virtual functor to compute fitness of a solution neighbor + *@param _solution the solution which generate the neighborhood + *@param _fitness the current solution fitness + *@param _index the set of index helping to compute the neighbor fitness + */ + + virtual inline __host__ __device__ Fitness operator() (EOT & _solution,Fitness _fitness, unsigned int * _index)=0; + + +}; +#endif