From 10b228d434ed8ea61c6f3ee51d702849d57f1326 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Sun, 17 Oct 2021 12:28:59 +0100 Subject: [PATCH] New method is_zero --- pyerrors/correlators.py | 2 +- pyerrors/pyerrors.py | 5 ++++- tests/test_pyerrors.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pyerrors/correlators.py b/pyerrors/correlators.py index 0e8b74fa..8ef26ce2 100644 --- a/pyerrors/correlators.py +++ b/pyerrors/correlators.py @@ -148,7 +148,7 @@ class Corr: if self.T % 2 != 0: raise Exception("Can not symmetrize odd T") - if not all([o.zero_within_error() for o in self.content[0]]): + if not all([o.is_zero_within_error() for o in self.content[0]]): warnings.warn("Correlator does not seem to be anti-symmetric around x0=0.", RuntimeWarning) newcontent = [self.content[0]] diff --git a/pyerrors/pyerrors.py b/pyerrors/pyerrors.py index 64d58a00..64ad12c9 100644 --- a/pyerrors/pyerrors.py +++ b/pyerrors/pyerrors.py @@ -341,9 +341,12 @@ class Obs: for e_name in self.e_names: print(e_name, ':', self.e_content[e_name]) - def zero_within_error(self): + def is_zero_within_error(self): return np.abs(self.value) <= self.dvalue + def is_zero(self): + np.isclose(0.0, self.value) and all(np.allclose(0.0, delta) for delta in self.deltas.values()) + def plot_tauint(self, save=None): """Plot integrated autocorrelation time for each ensemble.""" if not self.e_names: diff --git a/tests/test_pyerrors.py b/tests/test_pyerrors.py index 3be59b04..982dcab3 100644 --- a/tests/test_pyerrors.py +++ b/tests/test_pyerrors.py @@ -177,7 +177,7 @@ def test_utils(): my_obs.print(0) my_obs.print(1) my_obs.print(2) - assert not my_obs.zero_within_error() + assert not my_obs.is_zero_within_error() my_obs.plot_tauint() my_obs.plot_rho() my_obs.plot_rep_dist()