From f3fb1e64812c38bf79eba65dd654ba1ed84efae3 Mon Sep 17 00:00:00 2001 From: Lindsey Heagy Date: Tue, 24 Nov 2015 10:05:28 -0800 Subject: [PATCH] added an __iadd__, __isub__ to zero class --- SimPEG/Utils/matutils.py | 2 ++ tests/utils/test_Zero.py | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/SimPEG/Utils/matutils.py b/SimPEG/Utils/matutils.py index ee58bf86..b38bb4a1 100644 --- a/SimPEG/Utils/matutils.py +++ b/SimPEG/Utils/matutils.py @@ -399,8 +399,10 @@ def diagEst(matFun, n, k=None, approach='Probing'): class Zero(object): def __add__(self, v):return v def __radd__(self, v):return v + def __iadd__(self, v):return v def __sub__(self, v):return -v def __rsub__(self, v):return v + def __isub__(self, v):return v def __mul__(self, v):return self def __rmul__(self, v):return self def __div__(self, v): return self diff --git a/tests/utils/test_Zero.py b/tests/utils/test_Zero.py index be7c9bbe..594de6a6 100644 --- a/tests/utils/test_Zero.py +++ b/tests/utils/test_Zero.py @@ -20,6 +20,13 @@ class Tests(unittest.TestCase): assert 3*z == 0 assert z*3 == 0 assert z/3 == 0 + + a = 1 + a += z + assert a == 1 + a = 1 + a += z + assert a == 1 self.assertRaises(ZeroDivisionError, lambda:3/z) def test_mat_zero(self):