Commit c3af8f4d authored by Peter Eastman's avatar Peter Eastman
Browse files

Fixed compilation errors and warnings under Windows

parent 986d88af
...@@ -77,7 +77,7 @@ public: ...@@ -77,7 +77,7 @@ public:
private: private:
class ErrorFunction; class ErrorFunction;
class EwaldErrorFunction; class EwaldErrorFunction;
static double findZero(const ErrorFunction& f, int initialGuess); static int findZero(const ErrorFunction& f, int initialGuess);
NonbondedForce& owner; NonbondedForce& owner;
Kernel kernel; Kernel kernel;
}; };
......
...@@ -145,7 +145,7 @@ void NonbondedForceImpl::calcPMEParameters(const System& system, const Nonbonded ...@@ -145,7 +145,7 @@ void NonbondedForceImpl::calcPMEParameters(const System& system, const Nonbonded
zsize = (int) ceil(alpha*boxVectors[2][2]/pow(0.5*tol, 0.2)); zsize = (int) ceil(alpha*boxVectors[2][2]/pow(0.5*tol, 0.2));
} }
double NonbondedForceImpl::findZero(const NonbondedForceImpl::ErrorFunction& f, int initialGuess) { int NonbondedForceImpl::findZero(const NonbondedForceImpl::ErrorFunction& f, int initialGuess) {
int arg = initialGuess; int arg = initialGuess;
double value = f.getValue(arg); double value = f.getValue(arg);
if (value > 0.0) { if (value > 0.0) {
......
...@@ -53,6 +53,10 @@ using namespace std; ...@@ -53,6 +53,10 @@ using namespace std;
#include "quern.h" #include "quern.h"
#include "Lepton.h" #include "Lepton.h"
// In case we're using some primitive version of Visual Studio this will
// make sure that erf() and erfc() are defined.
#include "openmm/internal/MSVC_erfc.h"
using OpenMM::OpenMMException; using OpenMM::OpenMMException;
using Lepton::Operation; using Lepton::Operation;
...@@ -657,17 +661,17 @@ void gpuSetCustomNonbondedParameters(gpuContext gpu, const vector<vector<double> ...@@ -657,17 +661,17 @@ void gpuSetCustomNonbondedParameters(gpuContext gpu, const vector<vector<double>
gpu->sim.pCustomExceptionID = gpu->psCustomExceptionID->_pDevData; gpu->sim.pCustomExceptionID = gpu->psCustomExceptionID->_pDevData;
gpu->psCustomExceptionParams = new CUDAStream<float4>(gpu->sim.customExceptions, 1, "CustomExceptionParams"); gpu->psCustomExceptionParams = new CUDAStream<float4>(gpu->sim.customExceptions, 1, "CustomExceptionParams");
gpu->sim.pCustomExceptionParams = gpu->psCustomExceptionParams->_pDevData; gpu->sim.pCustomExceptionParams = gpu->psCustomExceptionParams->_pDevData;
for (int i = 0; i < parameters.size(); i++) { for (int i = 0; i < (int) parameters.size(); i++) {
if (parameters[i].size() > 0) if (parameters[i].size() > 0)
(*gpu->psCustomParams)[i].x = parameters[i][0]; (*gpu->psCustomParams)[i].x = (float) parameters[i][0];
if (parameters[i].size() > 1) if (parameters[i].size() > 1)
(*gpu->psCustomParams)[i].y = parameters[i][1]; (*gpu->psCustomParams)[i].y = (float) parameters[i][1];
if (parameters[i].size() > 2) if (parameters[i].size() > 2)
(*gpu->psCustomParams)[i].z = parameters[i][2]; (*gpu->psCustomParams)[i].z = (float) parameters[i][2];
if (parameters[i].size() > 3) if (parameters[i].size() > 3)
(*gpu->psCustomParams)[i].w = parameters[i][3]; (*gpu->psCustomParams)[i].w = (float) parameters[i][3];
} }
for (int i = 0; i < exceptionAtom1.size(); i++) { for (int i = 0; i < (int) exceptionAtom1.size(); i++) {
(*gpu->psCustomExceptionID)[i].x = exceptionAtom1[i]; (*gpu->psCustomExceptionID)[i].x = exceptionAtom1[i];
(*gpu->psCustomExceptionID)[i].y = exceptionAtom2[i]; (*gpu->psCustomExceptionID)[i].y = exceptionAtom2[i];
(*gpu->psCustomExceptionID)[i].z = gpu->pOutputBufferCounter[exceptionAtom1[i]]++; (*gpu->psCustomExceptionID)[i].z = gpu->pOutputBufferCounter[exceptionAtom1[i]]++;
...@@ -1783,17 +1787,17 @@ void gpuSetLangevinIntegrationParameters(gpuContext gpu, float tau, float deltaT ...@@ -1783,17 +1787,17 @@ void gpuSetLangevinIntegrationParameters(gpuContext gpu, float tau, float deltaT
double X = gpu->sim.tau * sqrt(gpu->sim.kT * C); double X = gpu->sim.tau * sqrt(gpu->sim.kT * C);
double Yv = sqrt(gpu->sim.kT * B / C); double Yv = sqrt(gpu->sim.kT * B / C);
double Yx = gpu->sim.tau * sqrt(gpu->sim.kT * B / (1.0 - EM)); double Yx = gpu->sim.tau * sqrt(gpu->sim.kT * B / (1.0 - EM));
(*gpu->psLangevinParameters)[0] = EM; (*gpu->psLangevinParameters)[0] = (float) EM;
(*gpu->psLangevinParameters)[1] = EM; (*gpu->psLangevinParameters)[1] = (float) EM;
(*gpu->psLangevinParameters)[2] = DOverTauC; (*gpu->psLangevinParameters)[2] = (float) DOverTauC;
(*gpu->psLangevinParameters)[3] = TauOneMinusEM; (*gpu->psLangevinParameters)[3] = (float) TauOneMinusEM;
(*gpu->psLangevinParameters)[4] = TauDOverEMMinusOne; (*gpu->psLangevinParameters)[4] = (float) TauDOverEMMinusOne;
(*gpu->psLangevinParameters)[5] = V; (*gpu->psLangevinParameters)[5] = (float) V;
(*gpu->psLangevinParameters)[6] = X; (*gpu->psLangevinParameters)[6] = (float) X;
(*gpu->psLangevinParameters)[7] = Yv; (*gpu->psLangevinParameters)[7] = (float) Yv;
(*gpu->psLangevinParameters)[8] = Yx; (*gpu->psLangevinParameters)[8] = (float) Yx;
(*gpu->psLangevinParameters)[9] = fix1; (*gpu->psLangevinParameters)[9] = (float) fix1;
(*gpu->psLangevinParameters)[10] = oneOverFix1; (*gpu->psLangevinParameters)[10] = (float) oneOverFix1;
gpu->psLangevinParameters->Upload(); gpu->psLangevinParameters->Upload();
gpu->psStepSize->Download(); gpu->psStepSize->Download();
(*gpu->psStepSize)[0].y = deltaT; (*gpu->psStepSize)[0].y = deltaT;
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
// In case we're using some primitive version of Visual Studio this will // In case we're using some primitive version of Visual Studio this will
// make sure that erf() and erfc() are defined. // make sure that erf() and erfc() are defined.
#include "MSVC_erfc.h" #include "openmm/internal/MSVC_erfc.h"
using std::vector; using std::vector;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment