From cae02bfa531bd9499c9e657e92daaf68a994e906 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Fri, 21 Oct 2022 12:11:02 +0100 Subject: [PATCH 1/2] fix: Fixed bug in details which appears when tau has vanishing error. --- pyerrors/obs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyerrors/obs.py b/pyerrors/obs.py index b50cc9af..fb195644 100644 --- a/pyerrors/obs.py +++ b/pyerrors/obs.py @@ -699,8 +699,6 @@ class Obs: return 'Obs[' + str(self) + ']' def __str__(self): - if self._dvalue == 0.0: - return str(self.value) return _format_uncertainty(self.value, self._dvalue) def __hash__(self): @@ -979,6 +977,8 @@ class CObs: def _format_uncertainty(value, dvalue): """Creates a string of a value and its error in paranthesis notation, e.g., 13.02(45)""" + if dvalue == 0.0: + return str(value) fexp = np.floor(np.log10(dvalue)) if fexp < 0.0: return '{:{form}}({:2.0f})'.format(value, dvalue * 10 ** (-fexp + 1), form='.' + str(-int(fexp) + 1) + 'f') From a8a9bfbd439aad4187f335156591a3c65826d16e Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Fri, 21 Oct 2022 12:12:27 +0100 Subject: [PATCH 2/2] tests: test added that checks that Obs.details does not throw an error when the error of tau is zero. --- tests/obs_test.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/obs_test.py b/tests/obs_test.py index 8f5aa547..bcec9252 100644 --- a/tests/obs_test.py +++ b/tests/obs_test.py @@ -998,6 +998,12 @@ def test_cobs_array(): cobs / np.ones((4, 4)) +def test_details_tau_no_error(): + tt = pe.Obs([np.random.rand(500)], ["ens"]) + tt.gamma_method(S=0) + tt.details() + + def test_hash(): obs = pe.pseudo_Obs(0.3, 0.1, "test") + pe.Obs([np.random.normal(2.3, 0.2, 200)], ["test2"], [range(1, 400, 2)]) o1 = obs + pe.cov_Obs(0.0, 0.1, "co") + pe.cov_Obs(0.0, 0.8, "co2")