Merge branch 'master' into pygromacs
[alexxy/gromacs.git] / src / gromacs / gmxana / gmx_potential.cpp
similarity index 95%
rename from src/gromacs/gmxana/gmx_potential.c
rename to src/gromacs/gmxana/gmx_potential.cpp
index fb56240c3adee3119754814f5d9d2da34f635758..e07a38eda3cd999e68a7b9ad64272e6f6146a765 100644 (file)
@@ -36,9 +36,9 @@
  */
 #include "gmxpre.h"
 
-#include <ctype.h>
-#include <math.h>
-#include <string.h>
+#include <cctype>
+#include <cmath>
+#include <cstring>
 
 #include "gromacs/commandline/pargs.h"
 #include "gromacs/fileio/trxio.h"
@@ -106,12 +106,11 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
                     double fudge_z, gmx_bool bSpherical, gmx_bool bCorrect,
                     const output_env_t oenv)
 {
-    rvec        *x0;      /* coordinates without pbc */
-    matrix       box;     /* box (3x3) */
-    int          natoms;  /* nr. atoms in trj */
+    rvec        *x0;     /* coordinates without pbc */
+    matrix       box;    /* box (3x3) */
+    int          natoms; /* nr. atoms in trj */
     t_trxstatus *status;
-    int        **slCount, /* nr. of atoms in one slice for a group */
-                 i, j, n, /* loop indices */
+    int          i, n,   /* loop indices */
                  teller    = 0,
                  ax1       = 0, ax2 = 0,
                  nr_frames = 0, /* number of frames */
@@ -145,7 +144,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
 
     if (!*nslices)
     {
-        *nslices = (int)(box[axis][axis] * 10); /* default value */
+        *nslices = static_cast<int>(box[axis][axis] * 10.0); /* default value */
 
     }
     fprintf(stderr, "\nDividing the box in %d slices\n", *nslices);
@@ -190,7 +189,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
                 {
                     rvec_add(x0[index[n][i]], xcm, x0[index[n][i]]);
                     /* only distance from origin counts, not sign */
-                    slice = norm(x0[index[n][i]])/(*slWidth);
+                    slice = static_cast<int>(norm(x0[index[n][i]])/(*slWidth));
 
                     /* this is a nice check for spherical groups but not for
                        all water in a cubic box since a lot will fall outside
@@ -215,7 +214,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
                         z -= box[axis][axis];
                     }
                     /* determine which slice atom is in */
-                    slice                  = (z / (*slWidth));
+                    slice                  = static_cast<int>((z / (*slWidth)));
                     (*slCharge)[n][slice] += top->atoms.atom[index[n][i]].q;
                 }
             }
@@ -282,7 +281,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
             qsum = 0;
             for (i = 0; i < *nslices; i++)
             {
-                if (fabs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
+                if (std::abs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
                 {
                     nn++;
                     qsum += (*slCharge)[n][i];
@@ -291,7 +290,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
             qsum /= nn;
             for (i = 0; i < *nslices; i++)
             {
-                if (fabs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
+                if (std::abs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
                 {
                     (*slCharge)[n][i] -= qsum;
                 }
@@ -314,7 +313,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
             qsum = 0;
             for (i = 0; i < *nslices; i++)
             {
-                if (fabs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
+                if (std::abs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
                 {
                     nn++;
                     qsum += (*slField)[n][i];
@@ -323,7 +322,7 @@ void calc_potential(const char *fn, atom_id **index, int gnx[],
             qsum /= nn;
             for (i = 0; i < *nslices; i++)
             {
-                if (fabs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
+                if (std::abs((*slCharge)[n][i]) >= GMX_DOUBLE_MIN)
                 {
                     (*slField)[n][i] -= qsum;
                 }