Obs.print renamed to Obs.details

This commit is contained in:
Fabian Joswig 2021-11-03 10:20:48 +00:00
parent 67fc15e001
commit a4d29b54d8
2 changed files with 23 additions and 23 deletions

View file

@ -379,29 +379,30 @@ class Obs:
return return
def print(self, level=1): def print(self, level=1):
"""Print basic properties of the Obs.""" warnings.warn("Method 'print' renamed to 'details'", DeprecationWarning)
if level == 0: self.details(level)
print(self)
def details(self, level=1):
"""Output detailed properties of the Obs."""
if self.value == 0.0:
percentage = np.nan
else: else:
if self.value == 0.0: percentage = np.abs(self.dvalue / self.value) * 100
percentage = np.nan print('Result\t %3.8e +/- %3.8e +/- %3.8e (%3.3f%%)' % (self.value, self.dvalue, self.ddvalue, percentage))
else: if hasattr(self, 'e_dvalue'):
percentage = np.abs(self.dvalue / self.value) * 100 if len(self.e_names) > 1:
print('Result\t %3.8e +/- %3.8e +/- %3.8e (%3.3f%%)' % (self.value, self.dvalue, self.ddvalue, percentage)) print(' Ensemble errors:')
if hasattr(self, 'e_dvalue'): for e_name in self.e_names:
if len(self.e_names) > 1: if len(self.e_names) > 1:
print(' Ensemble errors:') print('', e_name, '\t %3.8e +/- %3.8e' % (self.e_dvalue[e_name], self.e_ddvalue[e_name]))
if self.tau_exp[e_name] > 0:
print(' t_int\t %3.8e +/- %3.8e tau_exp = %3.2f, N_sigma = %1.0i' % (self.e_tauint[e_name], self.e_dtauint[e_name], self.tau_exp[e_name], self.N_sigma))
else:
print(' t_int\t %3.8e +/- %3.8e S = %3.2f' % (self.e_tauint[e_name], self.e_dtauint[e_name], self.S[e_name]))
if level > 1:
print(self.N, 'samples in', len(self.e_names), 'ensembles:')
for e_name in self.e_names: for e_name in self.e_names:
if len(self.e_names) > 1: print(e_name, ':', self.e_content[e_name])
print('', e_name, '\t %3.8e +/- %3.8e' % (self.e_dvalue[e_name], self.e_ddvalue[e_name]))
if self.tau_exp[e_name] > 0:
print(' t_int\t %3.8e +/- %3.8e tau_exp = %3.2f, N_sigma = %1.0i' % (self.e_tauint[e_name], self.e_dtauint[e_name], self.tau_exp[e_name], self.N_sigma))
else:
print(' t_int\t %3.8e +/- %3.8e S = %3.2f' % (self.e_tauint[e_name], self.e_dtauint[e_name], self.S[e_name]))
if level > 1:
print(self.N, 'samples in', len(self.e_names), 'ensembles:')
for e_name in self.e_names:
print(e_name, ':', self.e_content[e_name])
def is_zero_within_error(self, sigma=1): def is_zero_within_error(self, sigma=1):
"""Checks whether the observable is zero within 'sigma' standard errors. """Checks whether the observable is zero within 'sigma' standard errors.

View file

@ -223,9 +223,8 @@ def test_overloaded_functions():
def test_utils(): def test_utils():
my_obs = pe.pseudo_Obs(1.0, 0.5, 't') my_obs = pe.pseudo_Obs(1.0, 0.5, 't')
my_obs.print(0) my_obs.details(1)
my_obs.print(1) my_obs.details(2)
my_obs.print(2)
assert not my_obs.is_zero_within_error() assert not my_obs.is_zero_within_error()
my_obs.plot_tauint() my_obs.plot_tauint()
my_obs.plot_rho() my_obs.plot_rho()