Skip to content

Commit 584e5ce

Browse files
committed
Fix major bug+Updating version to 0.5
The major bug was return Complex object without self.restore
1 parent ca5b450 commit 584e5ce

2 files changed

Lines changed: 15 additions & 15 deletions

File tree

cmpx/Complex.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def __add__(self, other):
3333
raise ValueError('The second number is None')
3434
if not isinstance(other, Complex):
3535
other = Complex(other)
36-
return Complex(self.re + other.re, self.im + other.im)
36+
return Complex(self.re + other.re, self.im + other.im, self.restore)
3737
except ValueError as err:
3838
self.print_err(err)
3939
# Operator overloading 2 : -
@@ -43,7 +43,7 @@ def __sub__(self, other):
4343
raise ValueError('The second number is None')
4444
if not isinstance(other, Complex):
4545
other = Complex(other)
46-
return Complex(self.re - other.re, self.im - other.im)
46+
return Complex(self.re - other.re, self.im - other.im, self.restore)
4747
except ValueError as err:
4848
self.print_err(err)
4949
# Operator overloading 3 : *
@@ -53,7 +53,7 @@ def __mul__(self, other):
5353
raise ValueError('The second number is None')
5454
if not isinstance(other, Complex):
5555
other = Complex(other)
56-
return Complex(self.re * other.re - self.im * other.im, self.re * other.im + self.im * other.re)
56+
return Complex(self.re * other.re - self.im * other.im, self.re * other.im + self.im * other.re, self.restore)
5757
except ValueError as err:
5858
self.print_err(err)
5959
# Operator overloading 4 : /
@@ -69,8 +69,8 @@ def __truediv__(self, other):
6969
print(Fore.RED + 'Float division by zero')
7070
print(Fore.GREEN + 'Restoring last number')
7171
print(Style.RESET_ALL, end='')
72-
return Complex(self.re, self.im)
73-
return Complex(num.re / den.re, num.im / den.re)
72+
return Complex(self.re, self.im, self.restore)
73+
return Complex(num.re / den.re, num.im / den.re, self.restore)
7474
except (ZeroDivisionError, ValueError) as err:
7575
self.print_err(err)
7676
# Operator overloading 5 : //
@@ -86,8 +86,8 @@ def __floordiv__(self, other):
8686
print(Fore.RED + 'Float division by zero')
8787
print(Fore.GREEN + 'Restoring last number')
8888
print(Style.RESET_ALL, end='')
89-
return Complex(self.re, self.im)
90-
return Complex(num.re // den.re, num.im // den.re)
89+
return Complex(self.re, self.im, self.restore)
90+
return Complex(num.re // den.re, num.im // den.re, self.restore)
9191
except (ZeroDivisionError, ValueError) as err:
9292
self.print_err(err)
9393
def __gt__(self, other):
@@ -170,7 +170,7 @@ def __isub__(self, other):
170170
other = Complex(other)
171171
self.re -= other.re
172172
self.im -= other.im
173-
return Complex(self.re, self.im)
173+
return Complex(self.re, self.im, self.restore)
174174
except ValueError as err:
175175
self.print_err(err)
176176
# Operator overloading 14: *=
@@ -182,7 +182,7 @@ def __imul__(self, other):
182182
other = Complex(other)
183183
self.re = self.re * other.re - self.im * other.im
184184
self.im = self.re * other.im + self.im * other.re
185-
return Complex(self.re, self.im)
185+
return Complex(self.re, self.im, self.restore)
186186
except ValueError as err:
187187
self.print_err(err)
188188
# Operator overloading 15: /=
@@ -198,10 +198,10 @@ def __idiv__(self, other):
198198
print(Fore.RED + 'Float division by zero')
199199
print(Fore.GREEN + 'Restoring last number')
200200
print(Style.RESET_ALL, end='')
201-
return Complex(self.re, self.im)
201+
return Complex(self.re, self.im, self.restore)
202202
self.re = num.re / den.re
203203
self.im = num.im / den.re
204-
return Complex(self.re, self.im)
204+
return Complex(self.re, self.im, self.restore)
205205
except (ZeroDivisionError, ValueError) as err:
206206
self.print_err(err)
207207
# Operator overloading 16: //=
@@ -217,10 +217,10 @@ def __ifloordiv__(self, other):
217217
print(Fore.RED + 'Float division by zero')
218218
print(Fore.GREEN + 'Restoring last number')
219219
print(Style.RESET_ALL, end='')
220-
return Complex(self.re, self.im)
220+
return Complex(self.re, self.im, self.restore)
221221
self.re = num.re // den.re
222222
self.im = num.im // den.re
223-
return Complex(self.re, self.im)
223+
return Complex(self.re, self.im, self.restore)
224224
except (ZeroDivisionError, ValueError) as err:
225225
self.print_err(err)
226226
## Helper functions
@@ -229,7 +229,7 @@ def mod(self):
229229
return sqrt(self.re**2 + self.im**2)
230230
# Conjugated of a complex number
231231
def con(self):
232-
return Complex(self.re, - self.im)
232+
return Complex(self.re, - self.im, self.restore)
233233
# function to print the error message
234234
def print_err(self, err):
235235
print(Fore.RED + '{}: {}'.format(err.__class__.__name__, err))

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setup_args = dict(
77
name='cmpx',
8-
version='0.4',
8+
version='0.5',
99
description='Complex class for different operations on complex numbers',
1010
long_description_content_type='text/markdown',
1111
long_description=README,

0 commit comments

Comments
 (0)