From cd621e74f5c34475ded5ceb5bf1326e2bba704f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 22 Oct 2022 15:03:37 -0400 Subject: [PATCH] it is safer to do a >= comparison instead of == for floating point numbers --- src/MANYBODY/pair_threebody_table.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_threebody_table.cpp b/src/MANYBODY/pair_threebody_table.cpp index 17254c83a4..e2b58975b7 100644 --- a/src/MANYBODY/pair_threebody_table.cpp +++ b/src/MANYBODY/pair_threebody_table.cpp @@ -708,7 +708,7 @@ void PairThreebodyTable::uf_lookup(Param *pm, double r12, double r13, double the if (r13 == (pm->mltable->rmin - 0.5 * dr)) nr13 = 0; nr13 -= nr12; ntheta = (theta - 0.00000001) / dtheta; - if (theta == 180.0) ntheta = (pm->mltable->ninput * 2) - 1; + if (theta >= 180.0) ntheta = (pm->mltable->ninput * 2) - 1; itable = 0; for (i = 0; i < nr12; i++) itable += (pm->mltable->ninput - i); itable += nr13; @@ -721,7 +721,7 @@ void PairThreebodyTable::uf_lookup(Param *pm, double r12, double r13, double the nr13 = (r13 - pm->mltable->rmin + 0.5 * dr - 0.00000001) / dr; if (r13 == (pm->mltable->rmin - 0.5 * dr)) nr13 = 0; ntheta = (theta - 0.00000001) / dtheta; - if (theta == 180.0) ntheta = (pm->mltable->ninput * 2) - 1; + if (theta >= 180.0) ntheta = (pm->mltable->ninput * 2) - 1; itable = nr12 * (pm->mltable->ninput); itable += nr13; itable *= (pm->mltable->ninput * 2);