< prev index next >

test/jdk/jdk/incubator/vector/FloatMaxVectorTests.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

*** 732,741 **** --- 732,753 ---- + + + + + + + + + + + + static float max(float a, float b) { return (float)(Math.max(a, b)); } @Test(dataProvider = "floatBinaryOpProvider")
*** 778,797 **** ! static float addAll(float[] a, int idx) { float res = 0; for (int i = idx; i < (idx + SPECIES.length()); i++) { res += a[i]; } return res; } ! static float addAll(float[] a) { float res = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { float tmp = 0; for (int j = 0; j < SPECIES.length(); j++) { tmp += a[i + j]; --- 790,809 ---- ! static float addLanes(float[] a, int idx) { float res = 0; for (int i = idx; i < (idx + SPECIES.length()); i++) { res += a[i]; } return res; } ! static float addLanes(float[] a) { float res = 0; for (int i = 0; i < a.length; i += SPECIES.length()) { float tmp = 0; for (int j = 0; j < SPECIES.length(); j++) { tmp += a[i + j];
*** 800,841 **** } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void addAllFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.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()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra += av.addAll(); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::addAll, FloatMaxVectorTests::addAll); } ! static float mulAll(float[] a, int idx) { float res = 1; for (int i = idx; i < (idx + SPECIES.length()); i++) { res *= a[i]; } return res; } ! static float mulAll(float[] a) { float res = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { float tmp = 1; for (int j = 0; j < SPECIES.length(); j++) { tmp *= a[i + j]; --- 812,853 ---- } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void addLanesFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = 0; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.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()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra += av.addLanes(); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::addLanes, FloatMaxVectorTests::addLanes); } ! static float mulLanes(float[] a, int idx) { float res = 1; for (int i = idx; i < (idx + SPECIES.length()); i++) { res *= a[i]; } return res; } ! static float mulLanes(float[] a) { float res = 1; for (int i = 0; i < a.length; i += SPECIES.length()) { float tmp = 1; for (int j = 0; j < SPECIES.length(); j++) { tmp *= a[i + j];
*** 844,954 **** } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void mulAllFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.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()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra *= av.mulAll(); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::mulAll, FloatMaxVectorTests::mulAll); } ! static float minAll(float[] a, int idx) { float res = Float.POSITIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (float)Math.min(res, a[i]); } return res; } ! static float minAll(float[] a) { float res = Float.POSITIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (float)Math.min(res, a[i]); } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void minAllFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = Float.POSITIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! r[i] = av.minAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Float.POSITIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra = (float)Math.min(ra, av.minAll()); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::minAll, FloatMaxVectorTests::minAll); } ! static float maxAll(float[] a, int idx) { float res = Float.NEGATIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (float)Math.max(res, a[i]); } return res; } ! static float maxAll(float[] a) { float res = Float.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (float)Math.max(res, a[i]); } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void maxAllFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = Float.NEGATIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! r[i] = av.maxAll(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Float.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra = (float)Math.max(ra, av.maxAll()); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::maxAll, FloatMaxVectorTests::maxAll); } --- 856,966 ---- } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void mulLanesFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = 1; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.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()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra *= av.mulLanes(); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::mulLanes, FloatMaxVectorTests::mulLanes); } ! static float minLanes(float[] a, int idx) { float res = Float.POSITIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (float)Math.min(res, a[i]); } return res; } ! static float minLanes(float[] a) { float res = Float.POSITIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (float)Math.min(res, a[i]); } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void minLanesFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = Float.POSITIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! r[i] = av.minLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Float.POSITIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra = (float)Math.min(ra, av.minLanes()); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::minLanes, FloatMaxVectorTests::minLanes); } ! static float maxLanes(float[] a, int idx) { float res = Float.NEGATIVE_INFINITY; for (int i = idx; i < (idx + SPECIES.length()); i++) { res = (float)Math.max(res, a[i]); } return res; } ! static float maxLanes(float[] a) { float res = Float.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i++) { res = (float)Math.max(res, a[i]); } return res; } @Test(dataProvider = "floatUnaryOpProvider") ! static void maxLanesFloatMaxVectorTests(IntFunction<float[]> fa) { float[] a = fa.apply(SPECIES.length()); float[] r = fr.apply(SPECIES.length()); float ra = Float.NEGATIVE_INFINITY; for (int ic = 0; ic < INVOC_COUNT; ic++) { for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! r[i] = av.maxLanes(); } } for (int ic = 0; ic < INVOC_COUNT; ic++) { ra = Float.NEGATIVE_INFINITY; for (int i = 0; i < a.length; i += SPECIES.length()) { FloatVector av = FloatVector.fromArray(SPECIES, a, i); ! ra = (float)Math.max(ra, av.maxLanes()); } } ! assertReductionArraysEquals(a, r, ra, FloatMaxVectorTests::maxLanes, FloatMaxVectorTests::maxLanes); }
< prev index next >