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) { |