Removed duplication

master
Per A Brodtkorb 8 years ago
parent 08c5b78eb4
commit a44dd995cf

@ -1637,24 +1637,26 @@ class Cheb1d(object):
return self
def __add__(self, other):
other = Cheb1d(other)
new = Cheb1d(self)
new, other = self._copy(other)
new.coeffs = polyadd(self.coeffs, other.coeffs)
return new
def __radd__(self, other):
return self.__add__(other)
def __sub__(self, other):
def _copy(self, other):
other = Cheb1d(other)
new = Cheb1d(self)
return new, other
def __sub__(self, other):
new, other = self._copy(other)
new.coeffs = polysub(self.coeffs, other.coeffs)
return new
def __rsub__(self, other):
other = Cheb1d(other)
new = Cheb1d(self)
new.coeffs = polysub(other.coeffs, new.coeffs)
new = self.__sub__(other)
new.coeffs *= -1
return new
def __eq__(self, other):
@ -1670,23 +1672,10 @@ class Cheb1d(object):
raise ValueError("Attributes cannot be changed this way.")
def __getattr__(self, key):
if key in ['c', 'coef', 'coefficients']:
return self.coeffs
elif key in ['o']:
return self.order
elif key in ['a']:
return self.a
elif key in ['b']:
return self.b
elif key in ['k']:
return self.kind
else:
try:
return self.__dict__[key]
except KeyError:
raise AttributeError(
"'%s' has no attribute '%s'" %
(self.__class__, key))
name = dict(c='coeffs', coef='coeffs', coefficients='coeffs',
o='order', k='kind').get(key, key)
return getattr(self, name)
return self.__dict__[name]
def __getitem__(self, val):
if val > self.order:

Loading…
Cancel
Save