--- trunk/gadget/ecosystem.h 2015/07/24 18:36:24 12 +++ trunk/gadget/ecosystem.h 2017/04/07 09:20:55 20 @@ -39,6 +39,11 @@ */ Ecosystem(const MainInfo& main); /** + * \brief This is the Ecosystem constructor specifying details about the model + * \param main is the MainInfo specifying the command line options for the model run + */ + Ecosystem(const Ecosystem& ecosystem); + /** * \brief This is the default Ecosystem destructor */ ~Ecosystem(); @@ -124,7 +129,7 @@ * \param Stochastic is the StochasticData containing the new values of the parameters */ void Update(const StochasticData* const Stochastic) const { keeper->Update(Stochastic); }; -#ifndef NO_OPENMP +#ifdef _OPENMP /** * \brief This function will update the store values of the parameters of the Ecosystems used with OpenMP * \param v is the DoubleVector that store the values of the parameters of the main Ecosystem @@ -272,7 +277,7 @@ /** * \brief This is the flag used to denote whether the user has interrupted the current model run */ - volatile int interrupted; + //volatile int interrupted; protected: /** * \brief This is the value of the likelihood score for the current simulation @@ -349,6 +354,18 @@ * \note This vector is only used to temporarily store values during an optimising run */ IntVector optflag; +#ifdef _OPENMP + /** + * \brief This empty char is used for the purpose of avoiding false sharing between the EcoSystems. + */ + char filling[128]; + /** + * \brief Type of selected parallel optimization + */ + const int static SPECULATIVE=1; + const int static REPRODUCIBLE=2; + int runParallel; +#endif }; #endif