From c2bcf791967727449d9a93e465df161a03c8e87e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 18 Jan 2025 11:45:27 -0500 Subject: [PATCH] avoid divisions --- src/ML-POD/eapod.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/ML-POD/eapod.cpp b/src/ML-POD/eapod.cpp index 11dace1f28..0525cfdb55 100644 --- a/src/ML-POD/eapod.cpp +++ b/src/ML-POD/eapod.cpp @@ -982,10 +982,14 @@ double EAPOD::peratom_environment_descriptors(double *cb, double *bd, double *tm D[j] = 1.0 / sum; } - double sum = 0; + double sum = 0.0; for (int j = 0; j < nClusters; j++) sum += D[j]; double sumD = sum; - for (int j = 0; j < nClusters; j++) P[j] = D[j]/sum; + if (sum != 0.0) { + for (int j = 0; j < nClusters; j++) P[j] = D[j]/sum; + } else { + for (int j = 0; j < nClusters; j++) P[j] = 0.0; + } int nc = nCoeffPerElement*(ti[0]-1); double ei = coeff[0 + nc]; @@ -1008,13 +1012,13 @@ double EAPOD::peratom_environment_descriptors(double *cb, double *bd, double *tm } for (int m = 0; m