Fix builtin types methods

This commit is contained in:
Shunsuke Shibayama 2023-02-03 02:17:44 +09:00
parent 8cdc735486
commit d5e9649172
5 changed files with 107 additions and 101 deletions

View file

@ -10,29 +10,29 @@ class Float(float):
def mutate(self):
return FloatMut(self)
def __add__(self, other):
return then__(super().__add__(other), Float)
return then__(float.__add__(self, other), Float)
def __radd__(self, other):
return then__(super().__radd__(other), Float)
return then__(float.__add__(other, self), Float)
def __sub__(self, other):
return then__(super().__sub__(other), Float)
return then__(float.__sub__(self, other), Float)
def __rsub__(self, other):
return then__(super().__rsub__(other), Float)
return then__(float.__sub__(other, self), Float)
def __mul__(self, other):
return then__(super().__mul__(other), Float)
return then__(float.__mul__(self, other), Float)
def __rmul__(self, other):
return then__(super().__rmul__(other), Float)
return then__(float.__mul__(other, self), Float)
def __div__(self, other):
return then__(super().__div__(other), Float)
return then__(float.__div__(self, other), Float)
def __rdiv__(self, other):
return then__(super().__rdiv__(other), Float)
return then__(float.__div__(other, self), Float)
def __floordiv__(self, other):
return then__(super().__floordiv__(other), Float)
return then__(float.__floordiv__(self, other), Float)
def __rfloordiv__(self, other):
return then__(super().__rfloordiv__(other), Float)
return then__(float.__floordiv__(other, self), Float)
def __pow__(self, other):
return then__(super().__pow__(other), Float)
return then__(float.__pow__(self, other), Float)
def __rpow__(self, other):
return then__(super().__rpow__(other), Float)
return then__(float.__pow__(other, self), Float)
class FloatMut(): # inherits Float
value: Float