Skip to content

Commit

Permalink
Remove unused multiply & divide methods from Complex Number(#2852)
Browse files Browse the repository at this point in the history
This is because we haven't implemented the tests for multiplying or dividing a complex number with a real number (according to comments in tests.toml).
  • Loading branch information
jagdish-15 authored Nov 2, 2024
1 parent c0f9020 commit f37d6a8
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
final class ComplexNumber {

private final double real;

private final double imaginary;

ComplexNumber(double real, double imaginary) {
Expand Down Expand Up @@ -32,7 +31,10 @@ ComplexNumber subtract(ComplexNumber other) {
}

ComplexNumber divide(ComplexNumber other) {
return this.multiply(other.conjugate()).divide(Math.pow(other.abs(), 2));
double divisor = Math.pow(other.real, 2) + Math.pow(other.imaginary, 2);
return new ComplexNumber(
(real * other.real + imaginary * other.imaginary) / divisor,
(imaginary * other.real - real * other.imaginary) / divisor);
}

double abs() {
Expand All @@ -44,14 +46,7 @@ ComplexNumber conjugate() {
}

ComplexNumber exponentialOf() {
return new ComplexNumber(Math.cos(imaginary), Math.sin(imaginary)).multiply(Math.exp(real));
return new ComplexNumber(Math.exp(real) * Math.cos(imaginary), Math.exp(real) * Math.sin(imaginary));
}

private ComplexNumber divide(double factor) {
return new ComplexNumber(real / factor, imaginary / factor);
}

private ComplexNumber multiply(double factor) {
return new ComplexNumber(factor * real, factor * imaginary);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,15 @@ ComplexNumber multiply(ComplexNumber other) {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

ComplexNumber multiply(double factor) {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

ComplexNumber divide(ComplexNumber other) {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

ComplexNumber divide(double divisor) {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

ComplexNumber conjugate() {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

ComplexNumber exponentialOf() {
throw new UnsupportedOperationException("Delete this statement and write your own implementation.");
}

}

0 comments on commit f37d6a8

Please sign in to comment.