NUMBERS-65: Did not commit all changes in previous commit.
authorEric Barnhill <ericbarnhill@apache.org>
Mon, 23 Apr 2018 10:54:16 +0000 (12:54 +0200)
committerEric Barnhill <ericbarnhill@apache.org>
Mon, 23 Apr 2018 10:54:16 +0000 (12:54 +0200)
commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/Complex.java
commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java

index dd03536..e65bc10 100644 (file)
@@ -1256,8 +1256,8 @@ public final class Complex implements Serializable  {
      * @return a List of all {@code n}-th roots of {@code this}.
      */
     public List<Complex> nthRoot(int n) {
-        if (n <= 0) {
-            throw new IllegalArgumentException("cannot compute nth root for null or negative n: {0}");
+        if (n == 0) {
+            throw new IllegalArgumentException("cannot compute zeroth root");
         }
 
         final List<Complex> result = new ArrayList<Complex>();
@@ -1269,7 +1269,7 @@ public final class Complex implements Serializable  {
         final double nthPhi = getArgument() / n;
         final double slice = 2 * Math.PI / n;
         double innerPart = nthPhi;
-        for (int k = 0; k < n ; k++) {
+        for (int k = 0; k < Math.abs(n) ; k++) {
             // inner part
             final double realPart = nthRootOfAbs *  Math.cos(innerPart);
             final double imaginaryPart = nthRootOfAbs *  Math.sin(innerPart);
index 36fcde8..8247459 100644 (file)
@@ -737,7 +737,7 @@ public class ComplexTest {
      * Test: compute <b>third roots</b> using a negative argument
      * to go clockwise around the unit circle. Fourth roots of one
      * are taken in both directions around the circle using
-     * positive and negative arguments:
+     * positive and negative arguments.
      * <pre>
      * <code>
      * <b>z = 1</b>