< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/DoubleMaxVector.java

Print this page
@@ -453,10 +453,26 @@
              super.rearrangeTemplate(DoubleMaxShuffle.class,
                                      (DoubleMaxShuffle) s,
                                      (DoubleMaxVector) v);  // specialize
      }
  
+     @Override
+     @ForceInline
+     public DoubleMaxVector compress(VectorMask<Double> m) {
+         return (DoubleMaxVector)
+             super.compressTemplate(DoubleMaxMask.class,
+                                    (DoubleMaxMask) m);  // specialize
+     }
+ 
+     @Override
+     @ForceInline
+     public DoubleMaxVector expand(VectorMask<Double> m) {
+         return (DoubleMaxVector)
+             super.expandTemplate(DoubleMaxMask.class,
+                                    (DoubleMaxMask) m);  // specialize
+     }
+ 
      @Override
      @ForceInline
      public DoubleMaxVector selectFrom(Vector<Double> v) {
          return (DoubleMaxVector)
              super.selectFromTemplate((DoubleMaxVector) v);  // specialize

@@ -627,10 +643,19 @@
          @ForceInline
          public DoubleMaxMask not() {
              return xor(maskAll(true));
          }
  
+         @Override
+         @ForceInline
+         public DoubleMaxMask compress() {
+             return (DoubleMaxMask)VectorSupport.comExpOp(VectorSupport.VECTOR_OP_MASK_COMPRESS,
+                 DoubleMaxVector.class, DoubleMaxMask.class, ETYPE, VLENGTH, null, this,
+                 (v1, m1) -> VSPECIES.iota().compare(VectorOperators.LT, m1.trueCount()));
+         }
+ 
+ 
          // Binary operations
  
          @Override
          @ForceInline
          public DoubleMaxMask and(VectorMask<Double> mask) {
< prev index next >