[jdk17u-dev] Integrated: 8315024: Vector API FP reduction tests should not test for exact equality

Amos Shi ashi at openjdk.org
Mon Aug 26 18:53:10 UTC 2024


On Thu, 1 Aug 2024 17:10:40 GMT, Amos Shi <ashi at openjdk.org> wrote:

> Backport of [JDK-8315024](https://bugs.openjdk.org/browse/JDK-8315024)
> - This PR has two commits
>   - `commit 1`: the git apply result, which is `clean`
>   - `commit 2`: manually merge the following two `.rej` files
>     - `test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java.rej`
>     - `test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java.rej`
>   - `commit 3,4`: Fix code postion
>   - `commit 5`: Add file `Unit-header.template` 
> 
> Content of `test/jdk/jdk/incubator/vector/DoubleMaxVectorTests.java.rej`
> 
> 
> @@ -668,15 +670,21 @@
>  
>      static void assertReductionArraysEquals(double[] r, double rc, double[] a,
>                                              FReductionOp f, FReductionAllOp fa) {
> +        assertReductionArraysEquals(r, rc, a, f, fa, (double)0.0);
> +    }
> +
> +    static void assertReductionArraysEquals(double[] r, double rc, double[] a,
> +                                            FReductionOp f, FReductionAllOp fa,
> +                                            double relativeError) {
>          int i = 0;
>          try {
> -            Assert.assertEquals(rc, fa.apply(a));
> +            Assert.assertEquals(rc, fa.apply(a), Math.abs(rc * relativeError));
>              for (; i < a.length; i += SPECIES.length()) {
> -                Assert.assertEquals(r[i], f.apply(a, i));
> +                Assert.assertEquals(r[i], f.apply(a, i), Math.abs(r[i] * relativeError));
>              }
>          } catch (AssertionError e) {
> -            Assert.assertEquals(rc, fa.apply(a), "Final result is incorrect!");
> -            Assert.assertEquals(r[i], f.apply(a, i), "at index #" + i);
> +            Assert.assertEquals(rc, fa.apply(a), Math.abs(rc * relativeError), "Final result is incorrect!");
> +            Assert.assertEquals(r[i], f.apply(a, i), Math.abs(r[i] * relativeError), "at index #" + i);
>          }
>      }
>  
> @@ -690,15 +698,22 @@
>  
>      static void assertReductionArraysEqualsMasked(double[] r, double rc, double[] a, boolean[] mask,
>                                              FReductionMaskedOp f, FReductionAllMaskedOp fa) {
> +        assertReductionArraysEqualsMasked(r, rc, a, mask, f, fa, (double)0.0);
> +    }
> +
> +    static void assertReductionArraysEqualsMasked(double[] r, double rc, double[] a, boolean[] mask,
> +                                            FReductionMaskedOp f, FReductionAllMaskedOp fa,
> +                                            double relativeError) {
>          int i = 0;
>          try {
> -            Assert.assertEquals(rc, fa.apply(a, mask));
> +           ...

This pull request has now been integrated.

Changeset: 03cbfaa7
Author:    Amos Shi <ashi at openjdk.org>
URL:       https://git.openjdk.org/jdk17u-dev/commit/03cbfaa733bc6a59da6ba5c0d0918245e534752a
Stats:     417 lines in 13 files changed: 297 ins; 0 del; 120 mod

8315024: Vector API FP reduction tests should not test for exact equality

Reviewed-by: mdoerr
Backport-of: e6f23a90d4a53339a3c9c2b76fc5d317940e4472

-------------

PR: https://git.openjdk.org/jdk17u-dev/pull/2768


More information about the jdk-updates-dev mailing list