From 2a303bb610a8ab04fca7961e26ccf04d0cbfae18 Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Tue, 19 Oct 2021 11:39:53 +0100 Subject: [PATCH] Obs.print can now properly deal with value == 0.0 --- pyerrors/pyerrors.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pyerrors/pyerrors.py b/pyerrors/pyerrors.py index 84a41f17..bb2bd1c7 100644 --- a/pyerrors/pyerrors.py +++ b/pyerrors/pyerrors.py @@ -318,7 +318,11 @@ class Obs: if level == 0: print(self) else: - print('Result\t %3.8e +/- %3.8e +/- %3.8e (%3.3f%%)' % (self.value, self.dvalue, self.ddvalue, np.abs(self.dvalue / self.value) * 100)) + if self.value == 0.0: + percentage = np.nan + else: + percentage = np.abs(self.dvalue / self.value) * 100 + print('Result\t %3.8e +/- %3.8e +/- %3.8e (%3.3f%%)' % (self.value, self.dvalue, self.ddvalue, percentage)) if len(self.e_names) > 1: print(' Ensemble errors:') for e_name in self.e_names: