< prev index next >

src/jdk.incubator.vector/share/classes/jdk/incubator/vector/X-VectorBits.java.template

Print this page




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


< prev index next >