< prev index next > test/jdk/jdk/incubator/vector/IntMaxVectorTests.java
Print this page
/*
- * Copyright (c) 2018, 2024, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2025, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
static final VectorSpecies<Integer> SPECIES =
IntVector.SPECIES_MAX;
static final int INVOC_COUNT = Integer.getInteger("jdk.incubator.vector.test.loop-iterations", 100);
+ static IntVector bcast_vec = IntVector.broadcast(SPECIES, (int)10);
+
static VectorShape getMaxBit() {
return VectorShape.S_Max_BIT;
}
private static final int Max = 256; // juts so we can do N/Max
assertShiftConstEquals(r, a, mask, IntMaxVectorTests::ROL_binary_const);
}
- static IntVector bv_MIN = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpProvider")
static void MINIntMaxVectorTestsWithMemOp(IntFunction<int[]> fa) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.lanewise(VectorOperators.MIN, bv_MIN).intoArray(r, i);
+ av.lanewise(VectorOperators.MIN, bcast_vec).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, IntMaxVectorTests::MIN);
}
- static IntVector bv_min = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpProvider")
static void minIntMaxVectorTestsWithMemOp(IntFunction<int[]> fa) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.min(bv_min).intoArray(r, i);
+ av.min(bcast_vec).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, IntMaxVectorTests::min);
}
- static IntVector bv_MIN_M = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpMaskProvider")
static void MINIntMaxVectorTestsMaskedWithMemOp(IntFunction<int[]> fa, IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
VectorMask<Integer> vmask = VectorMask.fromArray(SPECIES, mask, 0);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.lanewise(VectorOperators.MIN, bv_MIN_M, vmask).intoArray(r, i);
+ av.lanewise(VectorOperators.MIN, bcast_vec, vmask).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, mask, IntMaxVectorTests::MIN);
}
- static IntVector bv_MAX = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpProvider")
static void MAXIntMaxVectorTestsWithMemOp(IntFunction<int[]> fa) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.lanewise(VectorOperators.MAX, bv_MAX).intoArray(r, i);
+ av.lanewise(VectorOperators.MAX, bcast_vec).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, IntMaxVectorTests::MAX);
}
- static IntVector bv_max = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpProvider")
static void maxIntMaxVectorTestsWithMemOp(IntFunction<int[]> fa) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.max(bv_max).intoArray(r, i);
+ av.max(bcast_vec).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, IntMaxVectorTests::max);
}
- static IntVector bv_MAX_M = IntVector.broadcast(SPECIES, (int)10);
-
@Test(dataProvider = "intUnaryOpMaskProvider")
static void MAXIntMaxVectorTestsMaskedWithMemOp(IntFunction<int[]> fa, IntFunction<boolean[]> fm) {
int[] a = fa.apply(SPECIES.length());
int[] r = fr.apply(SPECIES.length());
boolean[] mask = fm.apply(SPECIES.length());
VectorMask<Integer> vmask = VectorMask.fromArray(SPECIES, mask, 0);
for (int ic = 0; ic < INVOC_COUNT; ic++) {
for (int i = 0; i < a.length; i += SPECIES.length()) {
IntVector av = IntVector.fromArray(SPECIES, a, i);
- av.lanewise(VectorOperators.MAX, bv_MAX_M, vmask).intoArray(r, i);
+ av.lanewise(VectorOperators.MAX, bcast_vec, vmask).intoArray(r, i);
}
}
assertArraysEquals(r, a, (int)10, mask, IntMaxVectorTests::MAX);
}
< prev index next >