< prev index next >

test/jdk/jdk/incubator/vector/FloatMaxVectorTests.java

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 2018, 2024, 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.
--- 1,7 ---
  /*
!  * 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.

*** 60,10 ***
--- 60,12 ---
      static final VectorSpecies<Float> SPECIES =
                  FloatVector.SPECIES_MAX;
  
      static final int INVOC_COUNT = Integer.getInteger("jdk.incubator.vector.test.loop-iterations", 100);
  
+     static FloatVector bcast_vec = FloatVector.broadcast(SPECIES, (float)10);
+ 
      static VectorShape getMaxBit() {
          return VectorShape.S_Max_BIT;
      }
  
      private static final int Max = 256;  // juts so we can do N/Max

*** 2110,110 ***
          }
  
          assertBroadcastLongArraysEquals(r, a, b, mask, FloatMaxVectorTests::ADD);
      }
  
-     static FloatVector bv_MIN = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpProvider")
      static void MINFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.lanewise(VectorOperators.MIN, bv_MIN).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::MIN);
      }
  
-     static FloatVector bv_min = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpProvider")
      static void minFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.min(bv_min).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::min);
      }
  
-     static FloatVector bv_MIN_M = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpMaskProvider")
      static void MINFloatMaxVectorTestsMaskedWithMemOp(IntFunction<float[]> fa, IntFunction<boolean[]> fm) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
          boolean[] mask = fm.apply(SPECIES.length());
          VectorMask<Float> vmask = VectorMask.fromArray(SPECIES, mask, 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);
!                 av.lanewise(VectorOperators.MIN, bv_MIN_M, vmask).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, mask, FloatMaxVectorTests::MIN);
      }
  
-     static FloatVector bv_MAX = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpProvider")
      static void MAXFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.lanewise(VectorOperators.MAX, bv_MAX).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::MAX);
      }
  
-     static FloatVector bv_max = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpProvider")
      static void maxFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.max(bv_max).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::max);
      }
  
-     static FloatVector bv_MAX_M = FloatVector.broadcast(SPECIES, (float)10);
- 
      @Test(dataProvider = "floatUnaryOpMaskProvider")
      static void MAXFloatMaxVectorTestsMaskedWithMemOp(IntFunction<float[]> fa, IntFunction<boolean[]> fm) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
          boolean[] mask = fm.apply(SPECIES.length());
          VectorMask<Float> vmask = VectorMask.fromArray(SPECIES, mask, 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);
!                 av.lanewise(VectorOperators.MAX, bv_MAX_M, vmask).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, mask, FloatMaxVectorTests::MAX);
      }
--- 2112,98 ---
          }
  
          assertBroadcastLongArraysEquals(r, a, b, mask, FloatMaxVectorTests::ADD);
      }
  
      @Test(dataProvider = "floatUnaryOpProvider")
      static void MINFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.lanewise(VectorOperators.MIN, bcast_vec).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::MIN);
      }
  
      @Test(dataProvider = "floatUnaryOpProvider")
      static void minFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.min(bcast_vec).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::min);
      }
  
      @Test(dataProvider = "floatUnaryOpMaskProvider")
      static void MINFloatMaxVectorTestsMaskedWithMemOp(IntFunction<float[]> fa, IntFunction<boolean[]> fm) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
          boolean[] mask = fm.apply(SPECIES.length());
          VectorMask<Float> vmask = VectorMask.fromArray(SPECIES, mask, 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);
!                 av.lanewise(VectorOperators.MIN, bcast_vec, vmask).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, mask, FloatMaxVectorTests::MIN);
      }
  
      @Test(dataProvider = "floatUnaryOpProvider")
      static void MAXFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.lanewise(VectorOperators.MAX, bcast_vec).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::MAX);
      }
  
      @Test(dataProvider = "floatUnaryOpProvider")
      static void maxFloatMaxVectorTestsWithMemOp(IntFunction<float[]> fa) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
  
          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);
!                 av.max(bcast_vec).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, FloatMaxVectorTests::max);
      }
  
      @Test(dataProvider = "floatUnaryOpMaskProvider")
      static void MAXFloatMaxVectorTestsMaskedWithMemOp(IntFunction<float[]> fa, IntFunction<boolean[]> fm) {
          float[] a = fa.apply(SPECIES.length());
          float[] r = fr.apply(SPECIES.length());
          boolean[] mask = fm.apply(SPECIES.length());
          VectorMask<Float> vmask = VectorMask.fromArray(SPECIES, mask, 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);
!                 av.lanewise(VectorOperators.MAX, bcast_vec, vmask).intoArray(r, i);
              }
          }
  
          assertArraysEquals(r, a, (float)10, mask, FloatMaxVectorTests::MAX);
      }
< prev index next >