diff --git a/CHANGES/v2.0.txt b/CHANGES/v2.0.txt index 2ca65e1957b3c12a5b264bd5612cadfab8ccbd57..6b37c8a5017a9880492feedfb87dc15d3fc53a02 100644 --- a/CHANGES/v2.0.txt +++ b/CHANGES/v2.0.txt @@ -107,5 +107,8 @@ See <a href="http://github.com/plumed/plumed2/tree/v2.0">branch v2.0 on git repo For users: - Several small fixes in documentation and log file. +For developers: +- Split cltools/Driver.cpp to make parallel compilation faster. + */ diff --git a/src/cltools/Driver.cpp b/src/cltools/Driver.cpp index 9c64240d9e9fbe355870dd4f8017bc085a996659..bf59fcc40aafc1e615830e33dce97d7ea37167a7 100644 --- a/src/cltools/Driver.cpp +++ b/src/cltools/Driver.cpp @@ -707,13 +707,5 @@ int Driver<real>::main(FILE* in,FILE*out,Communicator& pc){ return 0; } -typedef Driver<double> DriverDouble; -typedef Driver<float> DriverFloat; -PLUMED_REGISTER_CLTOOL(DriverDouble,"driver") -PLUMED_REGISTER_CLTOOL(DriverFloat,"driver-float") - - - - } } diff --git a/src/cltools/DriverDouble.cpp b/src/cltools/DriverDouble.cpp new file mode 100644 index 0000000000000000000000000000000000000000..d497d43d07b08eb376f8f36e14cabec928a92c14 --- /dev/null +++ b/src/cltools/DriverDouble.cpp @@ -0,0 +1,37 @@ +/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Copyright (c) 2013 The plumed team + (see the PEOPLE file at the root of the distribution for a list of names) + + See http://www.plumed-code.org for more information. + + This file is part of plumed, version 2.0. + + plumed is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + plumed is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with plumed. If not, see <http://www.gnu.org/licenses/>. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ + +#include "Driver.cpp" + +namespace PLMD { +namespace cltools{ + +// We instantiate here the template version of Driver so as +// to accelerate parallel compilation. + +typedef Driver<double> DriverDouble; + +PLUMED_REGISTER_CLTOOL(DriverDouble,"driver") + +} +} + diff --git a/src/cltools/DriverFloat.cpp b/src/cltools/DriverFloat.cpp new file mode 100644 index 0000000000000000000000000000000000000000..0c152d16d409d3e2b6c30248df362894b4ccd451 --- /dev/null +++ b/src/cltools/DriverFloat.cpp @@ -0,0 +1,37 @@ +/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Copyright (c) 2013 The plumed team + (see the PEOPLE file at the root of the distribution for a list of names) + + See http://www.plumed-code.org for more information. + + This file is part of plumed, version 2.0. + + plumed is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + plumed is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with plumed. If not, see <http://www.gnu.org/licenses/>. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ + +#include "Driver.cpp" + +namespace PLMD { +namespace cltools{ + +// We instantiate here the template version of Driver so as +// to accelerate parallel compilation. + +typedef Driver<float> DriverFloat; + +PLUMED_REGISTER_CLTOOL(DriverFloat,"driver-float") + +} +} + diff --git a/src/function/Matheval.cpp b/src/function/Matheval.cpp index cd84551fc8f2347bf86164c80a4d3eae29b08440..e56335dea53ad44b9e604575778f080f38d4a38e 100644 --- a/src/function/Matheval.cpp +++ b/src/function/Matheval.cpp @@ -52,6 +52,7 @@ MATHEVAL ... ARG=d1.x,d1.y,d1.z,d2.x,d2.y,d2.z VAR=ax,ay,az,bx,by,bz FUNC=acos((ax*bx+ay*by+az*bz)/sqrt((ax*ax+ay*ay+az*az)*(bx*bx+by*by+bz*bz)) + PERIODIC=NO ... MATHEVAL PRINT ARG=theta \endverbatim