#ifndef __pso_h__ #define __pso_h__ namespace PSO { template class Engine { public: Engine(); virtual ~Engine(); void Reset(); const double* GetBest() const; void SetRange(double minimum, double maximum); void SetRange(const Vector& minimum, const Vector& maximum); virtual double CalculateError(const double testcase[DIM], bool& stop) = 0; bool Solve(unsigned int maxgenerations = 1000000000); private: }; }; #endif // __pso_h__