1269 } 1270 1271 @Override 1272 public $vectortype$ shiftER(int j) { 1273 $type$[] vec = getElements(); 1274 $type$[] res = new $type$[length()]; 1275 for (int i = 0; i < length() - j; i++){ 1276 res[i + j] = vec[i]; 1277 } 1278 return new $vectortype$(res); 1279 } 1280 1281 @Override 1282 @ForceInline 1283 public $vectortype$ rearrange(Vector<$Boxtype$, Shapes.$shape$> v, 1284 Shuffle<$Boxtype$, Shapes.$shape$> s, Mask<$Boxtype$, Shapes.$shape$> m) { 1285 return this.rearrange(s).blend(v.rearrange(s), m); 1286 } 1287 1288 @Override 1289 public $vectortype$ rearrange(Shuffle<$Boxtype$, Shapes.$shape$> s) { 1290 return uOp((i, a) -> { 1291 $type$[] vec = this.getElements(); 1292 int ei = s.getElement(i); 1293 return vec[ei]; 1294 }); 1295 } 1296 1297 @Override 1298 @ForceInline 1299 public $vectortype$ blend(Vector<$Boxtype$, Shapes.$shape$> o1, Mask<$Boxtype$, Shapes.$shape$> o2) { 1300 Objects.requireNonNull(o1); 1301 Objects.requireNonNull(o2); 1302 $vectortype$ v = ($vectortype$)o1; 1303 $masktype$ m = ($masktype$)o2; 1304 1305 return VectorIntrinsics.blend( 1306 $vectortype$.class, $masktype$.class, $type$.class, LENGTH, 1307 this, v, m, 1308 (v1, v2, m_) -> v1.bOp(v2, (i, a, b) -> m_.getElement(i) ? b : a)); 1309 } 1310 1311 // Accessors 1312 1313 #if[FP] 1314 @Override | 1269 } 1270 1271 @Override 1272 public $vectortype$ shiftER(int j) { 1273 $type$[] vec = getElements(); 1274 $type$[] res = new $type$[length()]; 1275 for (int i = 0; i < length() - j; i++){ 1276 res[i + j] = vec[i]; 1277 } 1278 return new $vectortype$(res); 1279 } 1280 1281 @Override 1282 @ForceInline 1283 public $vectortype$ rearrange(Vector<$Boxtype$, Shapes.$shape$> v, 1284 Shuffle<$Boxtype$, Shapes.$shape$> s, Mask<$Boxtype$, Shapes.$shape$> m) { 1285 return this.rearrange(s).blend(v.rearrange(s), m); 1286 } 1287 1288 @Override 1289 @ForceInline 1290 public $vectortype$ rearrange(Shuffle<$Boxtype$, Shapes.$shape$> o1) { 1291 Objects.requireNonNull(o1); 1292 $shuffletype$ s = ($shuffletype$)o1; 1293 1294 return VectorIntrinsics.rearrangeOp( 1295 $vectortype$.class, $shuffletype$.class, $type$.class, LENGTH, 1296 this, s, 1297 (v1, s_) -> v1.uOp((i, a) -> { 1298 $type$[] vec = this.getElements(); 1299 int ei = s_.getElement(i); 1300 return vec[ei]; 1301 })); 1302 } 1303 1304 @Override 1305 @ForceInline 1306 public $vectortype$ blend(Vector<$Boxtype$, Shapes.$shape$> o1, Mask<$Boxtype$, Shapes.$shape$> o2) { 1307 Objects.requireNonNull(o1); 1308 Objects.requireNonNull(o2); 1309 $vectortype$ v = ($vectortype$)o1; 1310 $masktype$ m = ($masktype$)o2; 1311 1312 return VectorIntrinsics.blend( 1313 $vectortype$.class, $masktype$.class, $type$.class, LENGTH, 1314 this, v, m, 1315 (v1, v2, m_) -> v1.bOp(v2, (i, a, b) -> m_.getElement(i) ? b : a)); 1316 } 1317 1318 // Accessors 1319 1320 #if[FP] 1321 @Override |