mirror of
https://github.com/pocketpy/pocketpy
synced 2025-11-09 21:20:17 +00:00
Add __truediv__() for cmath
This commit is contained in:
parent
39fe442575
commit
6b80256929
@ -65,6 +65,18 @@ class complex:
|
||||
def __rmul__(self, other):
|
||||
return self.__mul__(other)
|
||||
|
||||
def __truediv__(self, other):
|
||||
if type(other) is complex:
|
||||
denominator = other.real ** 2 + other.imag ** 2
|
||||
real_part = (self.real * other.real + self.imag * other.imag) / denominator
|
||||
imag_part = (self.imag * other.real - self.real * other.imag) / denominator
|
||||
return complex(real_part, imag_part)
|
||||
if type(other) in (int, float):
|
||||
if other == 0:
|
||||
raise ZeroDivisionError("Division by zero in complex number division")
|
||||
return complex(self.real / other, self.imag / other)
|
||||
return NotImplemented
|
||||
|
||||
def __pow__(self, other: int | float):
|
||||
if type(other) in (int, float):
|
||||
return complex(self.__abs__() ** other * math.cos(other * phase(self)),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user