mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-15 14:50:25 +01:00
Merge branch 'develop' into documentation
This commit is contained in:
commit
af8ab0a59f
4 changed files with 46 additions and 3 deletions
|
@ -1056,6 +1056,13 @@ class Corr:
|
|||
|
||||
__array_priority__ = 10000
|
||||
|
||||
def __eq__(self, y):
|
||||
if isinstance(y, Corr):
|
||||
comp = np.asarray(y.content, dtype=object)
|
||||
else:
|
||||
comp = np.asarray(y)
|
||||
return np.asarray(self.content, dtype=object) == comp
|
||||
|
||||
def __add__(self, y):
|
||||
if isinstance(y, Corr):
|
||||
if ((self.N != y.N) or (self.T != y.T)):
|
||||
|
|
|
@ -773,11 +773,10 @@ class Obs:
|
|||
return self.value >= other
|
||||
|
||||
def __eq__(self, other):
|
||||
if other is None:
|
||||
return False
|
||||
return (self - other).is_zero()
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self - other).is_zero()
|
||||
|
||||
# Overload math operations
|
||||
def __add__(self, y):
|
||||
if isinstance(y, Obs):
|
||||
|
|
|
@ -713,3 +713,39 @@ def test_corr_roll():
|
|||
tt = mcorr.roll(T) - mcorr
|
||||
for el in tt:
|
||||
assert np.all(el == 0)
|
||||
|
||||
|
||||
def test_correlator_comparison():
|
||||
scorr = pe.Corr([pe.pseudo_Obs(0.3, 0.1, "test") for o in range(4)])
|
||||
mcorr = pe.Corr(np.array([[scorr, scorr], [scorr, scorr]]))
|
||||
for corr in [scorr, mcorr]:
|
||||
assert (corr == corr).all()
|
||||
assert np.all(corr == 1 * corr)
|
||||
assert np.all(corr == (1 + 1e-16) * corr)
|
||||
assert not np.all(corr == (1 + 1e-5) * corr)
|
||||
assert np.all(corr == 1 / (1 / corr))
|
||||
assert np.all(corr - corr == 0)
|
||||
assert np.all(corr * 0 == 0)
|
||||
assert np.all(0 * corr == 0)
|
||||
assert np.all(0 * corr + scorr[2] == scorr[2])
|
||||
assert np.all(-corr == 0 - corr)
|
||||
assert np.all(corr ** 2 == corr * corr)
|
||||
acorr = pe.Corr([scorr[0]] * 6)
|
||||
assert np.all(acorr == scorr[0])
|
||||
assert not np.all(acorr == scorr[1])
|
||||
|
||||
mcorr[1][0, 1] = None
|
||||
assert not np.all(mcorr == pe.Corr(np.array([[scorr, scorr], [scorr, scorr]])))
|
||||
|
||||
pcorr = pe.Corr([pe.pseudo_Obs(0.25, 0.1, "test") for o in range(2)], padding=[1, 1])
|
||||
assert np.all(pcorr == pcorr)
|
||||
assert np.all(1 * pcorr == pcorr)
|
||||
|
||||
|
||||
def test_corr_item():
|
||||
corr_aa = _gen_corr(1)
|
||||
corr_ab = 0.5 * corr_aa
|
||||
|
||||
corr_mat = pe.Corr(np.array([[corr_aa, corr_ab], [corr_ab, corr_aa]]))
|
||||
corr_mat.item(0, 0)
|
||||
assert corr_mat[0].item(0, 1) == corr_mat.item(0, 1)[0]
|
||||
|
|
|
@ -103,6 +103,7 @@ def test_comparison():
|
|||
test_obs1 = pe.pseudo_Obs(value1, 0.1, 't')
|
||||
value2 = np.random.normal(0, 100)
|
||||
test_obs2 = pe.pseudo_Obs(value2, 0.1, 't')
|
||||
assert test_obs1 != None
|
||||
assert (value1 > value2) == (test_obs1 > test_obs2)
|
||||
assert (value1 < value2) == (test_obs1 < test_obs2)
|
||||
assert (value1 >= value2) == (test_obs1 >= test_obs2)
|
||||
|
|
Loading…
Add table
Reference in a new issue