units: support division by quantities in the same unit

This commit is contained in:
Sebastien Bourdeauducq 2014-08-16 10:27:44 +08:00
parent 7422a919cc
commit 232092166e
1 changed files with 12 additions and 4 deletions

View File

@ -42,12 +42,20 @@ class Quantity:
return Quantity(other*self.amount, self.unit)
def __truediv__(self, other):
if isinstance(other, Quantity):
return NotImplemented
return Quantity(self.amount/other, self.unit)
if other.unit == self.unit:
return self.amount/other.amount
else:
return NotImplemented
else:
return Quantity(self.amount/other, self.unit)
def __floordiv__(self, other):
if isinstance(other, Quantity):
return NotImplemented
return Quantity(self.amount//other, self.unit)
if other.unit == self.unit:
return self.amount//other.amount
else:
return NotImplemented
else:
return Quantity(self.amount//other, self.unit)
def __neg__(self):
return Quantity(-self.amount, self.unit)