This is an automated email from the ASF dual-hosted git repository. aherbert pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-numbers.git
commit ceb62698d95a6b6a562a896c8ed8e82e72f1e411 Author: Alex Herbert <aherb...@apache.org> AuthorDate: Sat Dec 21 17:16:29 2019 +0000 Test abs() and arg() return the input to ofPolar constructor. --- .../org/apache/commons/numbers/complex/ComplexTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java index 7d6770d..82c2cee 100644 --- a/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java +++ b/commons-numbers-complex/src/test/java/org/apache/commons/numbers/complex/ComplexTest.java @@ -123,6 +123,21 @@ public class ComplexTest { } @Test + public void testPolarConstructorAbsArg() { + // The test should work with any seed but use a fixed seed to avoid build instability. + final UniformRandomProvider rng = RandomSource.create(RandomSource.SPLIT_MIX_64, 678678638L); + for (int i = 0; i < 10; i++) { + final double rho = rng.nextDouble(); + // Range (pi, pi]: lower exclusive, upper inclusive + final double theta = pi - rng.nextDouble() * 2 * pi; + final Complex z = Complex.ofPolar(rho, theta); + // Match within 1 ULP + Assertions.assertEquals(rho, z.abs(), Math.ulp(rho)); + Assertions.assertEquals(theta, z.arg(), Math.ulp(theta)); + } + } + + @Test public void testCisConstructor() { final double x = 0.12345; final Complex z = Complex.ofCis(x);