Fixed mdrun fp exception with -debug
authorBerk Hess <hess@kth.se>
Wed, 4 Mar 2015 13:57:29 +0000 (14:57 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Thu, 12 Mar 2015 20:45:02 +0000 (21:45 +0100)
A debug printf printed div by 0, which terminated debug builds.

Change-Id: Ia02fded6dac000abece57a138b7b9b1dbc99b63a

src/gromacs/mdlib/nbnxn_search.c

index 14573e913c8ebceca426491cdbaee3b12e1cda5a..52d698b11b6d7481d681fb6f115961b2145dec57 100644 (file)
@@ -1025,11 +1025,13 @@ static void print_bbsizes_simple(FILE                *fp,
     fprintf(fp, "ns bb: grid %4.2f %4.2f %4.2f abs %4.2f %4.2f %4.2f rel %4.2f %4.2f %4.2f\n",
             grid->sx,
             grid->sy,
-            grid->na_c/(grid->atom_density*grid->sx*grid->sy),
+            grid->atom_density > 0 ?
+            grid->na_c/(grid->atom_density*grid->sx*grid->sy) : 0.0,
             ba[XX], ba[YY], ba[ZZ],
             ba[XX]/grid->sx,
             ba[YY]/grid->sy,
-            ba[ZZ]/(grid->na_c/(grid->atom_density*grid->sx*grid->sy)));
+            grid->atom_density > 0 ?
+            ba[ZZ]/(grid->na_c/(grid->atom_density*grid->sx*grid->sy)) : 0.0);
 }
 
 /* Prints the average bb size, used for debug output */
@@ -1078,11 +1080,13 @@ static void print_bbsizes_supersub(FILE                *fp,
     fprintf(fp, "ns bb: grid %4.2f %4.2f %4.2f abs %4.2f %4.2f %4.2f rel %4.2f %4.2f %4.2f\n",
             grid->sx/GPU_NSUBCELL_X,
             grid->sy/GPU_NSUBCELL_Y,
-            grid->na_sc/(grid->atom_density*grid->sx*grid->sy*GPU_NSUBCELL_Z),
+            grid->atom_density > 0 ?
+            grid->na_sc/(grid->atom_density*grid->sx*grid->sy*GPU_NSUBCELL_Z) : 0.0,
             ba[XX], ba[YY], ba[ZZ],
             ba[XX]*GPU_NSUBCELL_X/grid->sx,
             ba[YY]*GPU_NSUBCELL_Y/grid->sy,
-            ba[ZZ]/(grid->na_sc/(grid->atom_density*grid->sx*grid->sy*GPU_NSUBCELL_Z)));
+            grid->atom_density > 0 ?
+            ba[ZZ]/(grid->na_sc/(grid->atom_density*grid->sx*grid->sy*GPU_NSUBCELL_Z)) : 0.0);
 }
 
 /* Potentially sorts atoms on LJ coefficients !=0 and ==0.