< prev index next >

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

Print this page




 980     }
 981 
 982     @Override
 983     public Float256Vector shiftER(int j) {
 984         float[] vec = getElements();
 985         float[] res = new float[length()];
 986         for (int i = 0; i < length() - j; i++){
 987             res[i + j] = vec[i];
 988         }
 989         return new Float256Vector(res);
 990     }
 991 
 992     @Override
 993     @ForceInline
 994     public Float256Vector rearrange(Vector<Float, Shapes.S256Bit> v,
 995                                   Shuffle<Float, Shapes.S256Bit> s, Mask<Float, Shapes.S256Bit> m) {
 996         return this.rearrange(s).blend(v.rearrange(s), m);
 997     }
 998 
 999     @Override
1000     public Float256Vector rearrange(Shuffle<Float, Shapes.S256Bit> s) {
1001         return uOp((i, a) -> {







1002             float[] vec = this.getElements();
1003             int ei = s.getElement(i);
1004             return vec[ei];
1005         });
1006     }
1007 
1008     @Override
1009     @ForceInline
1010     public Float256Vector blend(Vector<Float, Shapes.S256Bit> o1, Mask<Float, Shapes.S256Bit> o2) {
1011         Objects.requireNonNull(o1);
1012         Objects.requireNonNull(o2);
1013         Float256Vector v = (Float256Vector)o1;
1014         Float256Mask   m = (Float256Mask)o2;
1015 
1016         return VectorIntrinsics.blend(
1017             Float256Vector.class, Float256Mask.class, float.class, LENGTH,
1018             this, v, m,
1019             (v1, v2, m_) -> v1.bOp(v2, (i, a, b) -> m_.getElement(i) ? b : a));
1020     }
1021 
1022     // Accessors
1023 
1024     @Override
1025     public float get(int i) {




 980     }
 981 
 982     @Override
 983     public Float256Vector shiftER(int j) {
 984         float[] vec = getElements();
 985         float[] res = new float[length()];
 986         for (int i = 0; i < length() - j; i++){
 987             res[i + j] = vec[i];
 988         }
 989         return new Float256Vector(res);
 990     }
 991 
 992     @Override
 993     @ForceInline
 994     public Float256Vector rearrange(Vector<Float, Shapes.S256Bit> v,
 995                                   Shuffle<Float, Shapes.S256Bit> s, Mask<Float, Shapes.S256Bit> m) {
 996         return this.rearrange(s).blend(v.rearrange(s), m);
 997     }
 998 
 999     @Override
1000     @ForceInline
1001     public Float256Vector rearrange(Shuffle<Float, Shapes.S256Bit> o1) {
1002     Objects.requireNonNull(o1);
1003     Float256Shuffle s =  (Float256Shuffle)o1;
1004 
1005         return VectorIntrinsics.rearrangeOp(
1006             Float256Vector.class, Float256Shuffle.class, float.class, LENGTH,
1007             this, s,
1008             (v1, s_) -> v1.uOp((i, a) -> {
1009             float[] vec = this.getElements();
1010             int ei = s_.getElement(i);
1011             return vec[ei];
1012         }));
1013     }
1014 
1015     @Override
1016     @ForceInline
1017     public Float256Vector blend(Vector<Float, Shapes.S256Bit> o1, Mask<Float, Shapes.S256Bit> o2) {
1018         Objects.requireNonNull(o1);
1019         Objects.requireNonNull(o2);
1020         Float256Vector v = (Float256Vector)o1;
1021         Float256Mask   m = (Float256Mask)o2;
1022 
1023         return VectorIntrinsics.blend(
1024             Float256Vector.class, Float256Mask.class, float.class, LENGTH,
1025             this, v, m,
1026             (v1, v2, m_) -> v1.bOp(v2, (i, a, b) -> m_.getElement(i) ? b : a));
1027     }
1028 
1029     // Accessors
1030 
1031     @Override
1032     public float get(int i) {


< prev index next >