< prev index next >

test/jdk/jdk/incubator/vector/Double64VectorTests.java

Print this page
rev 55894 : 8222897: [vector] Renaming of shift, rotate operations. Few other api changes.
Summary: Renaming of shift, rotate operations. Few other api changes.
Reviewed-by: jrose, briangoetz

*** 728,737 **** --- 728,749 ---- + + + + + + + + + + + + static double max(double a, double b) { return (double)(Math.max(a, b)); } @Test(dataProvider = "doubleBinaryOpProvider")
*** 774,793 **** ! static double addAll(double[] a, int idx) { double res = 0; for (int i = idx; i < (idx + SPECIES.length()); i++) { res += a[i]; } return res; } ! static double addAll(double[] a) { double res = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { double tmp = 0; for (int j = 0; j < SPECIES.length(); j++) { tmp += a[i + j]; --- 786,805 ---- ! static double addLanes(double[] a, int idx) { double res = 0; for (int i = idx; i < (idx + SPECIES.length()); i++) { res += a[i]; } return res; } ! static double addLanes(double[] a) { double res = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { double tmp = 0; for (int j = 0; j < SPECIES.length(); j++) { tmp += a[i + j];
*** 796,837 **** } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void addAllDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.addAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra += av.addAll(); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::addAll, Double64VectorTests::addAll); } ! static double mulAll(double[] a, int idx) { double res = 1; for (int i = idx; i < (idx + SPECIES.length()); i++) { res *= a[i]; } return res; } ! static double mulAll(double[] a) { double res = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { double tmp = 1; for (int j = 0; j < SPECIES.length(); j++) { tmp *= a[i + j]; --- 808,849 ---- } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void addLanesDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.addLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra += av.addLanes(); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::addLanes, Double64VectorTests::addLanes); } ! static double mulLanes(double[] a, int idx) { double res = 1; for (int i = idx; i < (idx + SPECIES.length()); i++) { res *= a[i]; } return res; } ! static double mulLanes(double[] a) { double res = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { double tmp = 1; for (int j = 0; j < SPECIES.length(); j++) { tmp *= a[i + j];
*** 840,950 **** } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void mulAllDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.mulAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra *= av.mulAll(); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::mulAll, Double64VectorTests::mulAll); } ! static double minAll(double[] a, int idx) { double res = Double.POSITIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (double)Math.min(res, a[i]); } return res; } ! static double minAll(double[] a) { double res = Double.POSITIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (double)Math.min(res, a[i]); } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void minAllDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = Double.POSITIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.minAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Double.POSITIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra = (double)Math.min(ra, av.minAll()); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::minAll, Double64VectorTests::minAll); } ! static double maxAll(double[] a, int idx) { double res = Double.NEGATIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (double)Math.max(res, a[i]); } return res; } ! static double maxAll(double[] a) { double res = Double.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (double)Math.max(res, a[i]); } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void maxAllDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = Double.NEGATIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.maxAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Double.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra = (double)Math.max(ra, av.maxAll()); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::maxAll, Double64VectorTests::maxAll); } --- 852,962 ---- } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void mulLanesDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.mulLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra *= av.mulLanes(); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::mulLanes, Double64VectorTests::mulLanes); } ! static double minLanes(double[] a, int idx) { double res = Double.POSITIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (double)Math.min(res, a[i]); } return res; } ! static double minLanes(double[] a) { double res = Double.POSITIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (double)Math.min(res, a[i]); } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void minLanesDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = Double.POSITIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.minLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Double.POSITIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra = (double)Math.min(ra, av.minLanes()); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::minLanes, Double64VectorTests::minLanes); } ! static double maxLanes(double[] a, int idx) { double res = Double.NEGATIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (double)Math.max(res, a[i]); } return res; } ! static double maxLanes(double[] a) { double res = Double.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (double)Math.max(res, a[i]); } return res; } @Test(dataProvider = "doubleUnaryOpProvider") ! static void maxLanesDouble64VectorTests(IntFunction<double[]> fa) { double[] a = fa.apply(SPECIES.length()); double[] r = fr.apply(SPECIES.length()); double ra = Double.NEGATIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! r[i] = av.maxLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Double.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { DoubleVector av = DoubleVector.fromArray(SPECIES, a, i); ! ra = (double)Math.max(ra, av.maxLanes()); } } ! assertReductionArraysEquals(a, r, ra, Double64VectorTests::maxLanes, Double64VectorTests::maxLanes); }
< prev index next >