[jdk17u-dev] RFR: 8315024: Vector API FP reduction tests should not test for exact equality [v6]
Amos Shi
ashi at openjdk.org
Sat Aug 17 07:11:07 UTC 2024
> 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));
> + ...
Amos Shi has updated the pull request incrementally with one additional commit since the last revision:
Fix based on review: space and new line
-------------
Changes:
- all: https://git.openjdk.org/jdk17u-dev/pull/2768/files
- new: https://git.openjdk.org/jdk17u-dev/pull/2768/files/a7ff7735..2b9e3b34
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2768&range=05
- incr: https://webrevs.openjdk.org/?repo=jdk17u-dev&pr=2768&range=04-05
Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk17u-dev/pull/2768.diff
Fetch: git fetch https://git.openjdk.org/jdk17u-dev.git pull/2768/head:pull/2768
PR: https://git.openjdk.org/jdk17u-dev/pull/2768
More information about the jdk-updates-dev
mailing list