| Index: sdk/lib/typed_data/typed_data.dart
|
| diff --git a/sdk/lib/typed_data/typed_data.dart b/sdk/lib/typed_data/typed_data.dart
|
| index 398a360d7a0d3e7546146e4a54a542e5432288e4..d23d3843ab3ed0c83620a25764c36210d60965dd 100644
|
| --- a/sdk/lib/typed_data/typed_data.dart
|
| +++ b/sdk/lib/typed_data/typed_data.dart
|
| @@ -921,7 +921,7 @@ abstract class Float32x4 {
|
| /// Extract the sign bits from each lane return them in the first 4 bits.
|
| int get signMask;
|
|
|
| - /// Mask passed to [shuffle].
|
| + /// Mask passed to [shuffle] or [shuffleMix].
|
| static const int XXXX = 0x0;
|
| static const int XXXY = 0x40;
|
| static const int XXXZ = 0x80;
|
| @@ -1182,25 +1182,10 @@ abstract class Float32x4 {
|
| /// Shuffle the lane values. [mask] must be one of the 256 shuffle constants.
|
| Float32x4 shuffle(int mask);
|
|
|
| - /// Returns a new [Float32x4] with values in the X and Y lanes
|
| - /// replaced with the values in the Z and W lanes of [other].
|
| - Float32x4 withZWInXY(Float32x4 other);
|
| -
|
| - /// Returns a new [Float32x4] with the X and Y lane values
|
| - /// from [this] and [other] interleaved.
|
| - Float32x4 interleaveXY(Float32x4 other);
|
| -
|
| - /// Returns a new [Float32x4] with the Z and W lane values
|
| - /// from [this] and [other] interleaved.
|
| - Float32x4 interleaveZW(Float32x4 other);
|
| -
|
| - /// Returns a new [Float32x4] with the X and Y lane value pairs
|
| - /// from [this] and [other] interleaved.
|
| - Float32x4 interleaveXYPairs(Float32x4 other);
|
| -
|
| - /// Returns a new [Float32x4] with the Z and W lane value pairs
|
| - /// from [this] and [other] interleaved.
|
| - Float32x4 interleaveZWPairs(Float32x4 other);
|
| + /// Shuffle the lane values in [this] and [other]. The returned
|
| + /// Float32x4 will have XY lanes from [this] and ZW lanes from [other].
|
| + /// Uses the same [mask] as [shuffle].
|
| + Float32x4 shuffleMix(Float32x4 other, int mask);
|
|
|
| /// Returns a new [Float32x4] copied from [this] with a new x value.
|
| Float32x4 withX(double x);
|
| @@ -1261,6 +1246,272 @@ abstract class Uint32x4 {
|
| /// Extract the top bit from each lane return them in the first 4 bits.
|
| int get signMask;
|
|
|
| + /// Mask passed to [shuffle] or [shuffleMix].
|
| + static const int XXXX = 0x0;
|
| + static const int XXXY = 0x40;
|
| + static const int XXXZ = 0x80;
|
| + static const int XXXW = 0xC0;
|
| + static const int XXYX = 0x10;
|
| + static const int XXYY = 0x50;
|
| + static const int XXYZ = 0x90;
|
| + static const int XXYW = 0xD0;
|
| + static const int XXZX = 0x20;
|
| + static const int XXZY = 0x60;
|
| + static const int XXZZ = 0xA0;
|
| + static const int XXZW = 0xE0;
|
| + static const int XXWX = 0x30;
|
| + static const int XXWY = 0x70;
|
| + static const int XXWZ = 0xB0;
|
| + static const int XXWW = 0xF0;
|
| + static const int XYXX = 0x4;
|
| + static const int XYXY = 0x44;
|
| + static const int XYXZ = 0x84;
|
| + static const int XYXW = 0xC4;
|
| + static const int XYYX = 0x14;
|
| + static const int XYYY = 0x54;
|
| + static const int XYYZ = 0x94;
|
| + static const int XYYW = 0xD4;
|
| + static const int XYZX = 0x24;
|
| + static const int XYZY = 0x64;
|
| + static const int XYZZ = 0xA4;
|
| + static const int XYZW = 0xE4;
|
| + static const int XYWX = 0x34;
|
| + static const int XYWY = 0x74;
|
| + static const int XYWZ = 0xB4;
|
| + static const int XYWW = 0xF4;
|
| + static const int XZXX = 0x8;
|
| + static const int XZXY = 0x48;
|
| + static const int XZXZ = 0x88;
|
| + static const int XZXW = 0xC8;
|
| + static const int XZYX = 0x18;
|
| + static const int XZYY = 0x58;
|
| + static const int XZYZ = 0x98;
|
| + static const int XZYW = 0xD8;
|
| + static const int XZZX = 0x28;
|
| + static const int XZZY = 0x68;
|
| + static const int XZZZ = 0xA8;
|
| + static const int XZZW = 0xE8;
|
| + static const int XZWX = 0x38;
|
| + static const int XZWY = 0x78;
|
| + static const int XZWZ = 0xB8;
|
| + static const int XZWW = 0xF8;
|
| + static const int XWXX = 0xC;
|
| + static const int XWXY = 0x4C;
|
| + static const int XWXZ = 0x8C;
|
| + static const int XWXW = 0xCC;
|
| + static const int XWYX = 0x1C;
|
| + static const int XWYY = 0x5C;
|
| + static const int XWYZ = 0x9C;
|
| + static const int XWYW = 0xDC;
|
| + static const int XWZX = 0x2C;
|
| + static const int XWZY = 0x6C;
|
| + static const int XWZZ = 0xAC;
|
| + static const int XWZW = 0xEC;
|
| + static const int XWWX = 0x3C;
|
| + static const int XWWY = 0x7C;
|
| + static const int XWWZ = 0xBC;
|
| + static const int XWWW = 0xFC;
|
| + static const int YXXX = 0x1;
|
| + static const int YXXY = 0x41;
|
| + static const int YXXZ = 0x81;
|
| + static const int YXXW = 0xC1;
|
| + static const int YXYX = 0x11;
|
| + static const int YXYY = 0x51;
|
| + static const int YXYZ = 0x91;
|
| + static const int YXYW = 0xD1;
|
| + static const int YXZX = 0x21;
|
| + static const int YXZY = 0x61;
|
| + static const int YXZZ = 0xA1;
|
| + static const int YXZW = 0xE1;
|
| + static const int YXWX = 0x31;
|
| + static const int YXWY = 0x71;
|
| + static const int YXWZ = 0xB1;
|
| + static const int YXWW = 0xF1;
|
| + static const int YYXX = 0x5;
|
| + static const int YYXY = 0x45;
|
| + static const int YYXZ = 0x85;
|
| + static const int YYXW = 0xC5;
|
| + static const int YYYX = 0x15;
|
| + static const int YYYY = 0x55;
|
| + static const int YYYZ = 0x95;
|
| + static const int YYYW = 0xD5;
|
| + static const int YYZX = 0x25;
|
| + static const int YYZY = 0x65;
|
| + static const int YYZZ = 0xA5;
|
| + static const int YYZW = 0xE5;
|
| + static const int YYWX = 0x35;
|
| + static const int YYWY = 0x75;
|
| + static const int YYWZ = 0xB5;
|
| + static const int YYWW = 0xF5;
|
| + static const int YZXX = 0x9;
|
| + static const int YZXY = 0x49;
|
| + static const int YZXZ = 0x89;
|
| + static const int YZXW = 0xC9;
|
| + static const int YZYX = 0x19;
|
| + static const int YZYY = 0x59;
|
| + static const int YZYZ = 0x99;
|
| + static const int YZYW = 0xD9;
|
| + static const int YZZX = 0x29;
|
| + static const int YZZY = 0x69;
|
| + static const int YZZZ = 0xA9;
|
| + static const int YZZW = 0xE9;
|
| + static const int YZWX = 0x39;
|
| + static const int YZWY = 0x79;
|
| + static const int YZWZ = 0xB9;
|
| + static const int YZWW = 0xF9;
|
| + static const int YWXX = 0xD;
|
| + static const int YWXY = 0x4D;
|
| + static const int YWXZ = 0x8D;
|
| + static const int YWXW = 0xCD;
|
| + static const int YWYX = 0x1D;
|
| + static const int YWYY = 0x5D;
|
| + static const int YWYZ = 0x9D;
|
| + static const int YWYW = 0xDD;
|
| + static const int YWZX = 0x2D;
|
| + static const int YWZY = 0x6D;
|
| + static const int YWZZ = 0xAD;
|
| + static const int YWZW = 0xED;
|
| + static const int YWWX = 0x3D;
|
| + static const int YWWY = 0x7D;
|
| + static const int YWWZ = 0xBD;
|
| + static const int YWWW = 0xFD;
|
| + static const int ZXXX = 0x2;
|
| + static const int ZXXY = 0x42;
|
| + static const int ZXXZ = 0x82;
|
| + static const int ZXXW = 0xC2;
|
| + static const int ZXYX = 0x12;
|
| + static const int ZXYY = 0x52;
|
| + static const int ZXYZ = 0x92;
|
| + static const int ZXYW = 0xD2;
|
| + static const int ZXZX = 0x22;
|
| + static const int ZXZY = 0x62;
|
| + static const int ZXZZ = 0xA2;
|
| + static const int ZXZW = 0xE2;
|
| + static const int ZXWX = 0x32;
|
| + static const int ZXWY = 0x72;
|
| + static const int ZXWZ = 0xB2;
|
| + static const int ZXWW = 0xF2;
|
| + static const int ZYXX = 0x6;
|
| + static const int ZYXY = 0x46;
|
| + static const int ZYXZ = 0x86;
|
| + static const int ZYXW = 0xC6;
|
| + static const int ZYYX = 0x16;
|
| + static const int ZYYY = 0x56;
|
| + static const int ZYYZ = 0x96;
|
| + static const int ZYYW = 0xD6;
|
| + static const int ZYZX = 0x26;
|
| + static const int ZYZY = 0x66;
|
| + static const int ZYZZ = 0xA6;
|
| + static const int ZYZW = 0xE6;
|
| + static const int ZYWX = 0x36;
|
| + static const int ZYWY = 0x76;
|
| + static const int ZYWZ = 0xB6;
|
| + static const int ZYWW = 0xF6;
|
| + static const int ZZXX = 0xA;
|
| + static const int ZZXY = 0x4A;
|
| + static const int ZZXZ = 0x8A;
|
| + static const int ZZXW = 0xCA;
|
| + static const int ZZYX = 0x1A;
|
| + static const int ZZYY = 0x5A;
|
| + static const int ZZYZ = 0x9A;
|
| + static const int ZZYW = 0xDA;
|
| + static const int ZZZX = 0x2A;
|
| + static const int ZZZY = 0x6A;
|
| + static const int ZZZZ = 0xAA;
|
| + static const int ZZZW = 0xEA;
|
| + static const int ZZWX = 0x3A;
|
| + static const int ZZWY = 0x7A;
|
| + static const int ZZWZ = 0xBA;
|
| + static const int ZZWW = 0xFA;
|
| + static const int ZWXX = 0xE;
|
| + static const int ZWXY = 0x4E;
|
| + static const int ZWXZ = 0x8E;
|
| + static const int ZWXW = 0xCE;
|
| + static const int ZWYX = 0x1E;
|
| + static const int ZWYY = 0x5E;
|
| + static const int ZWYZ = 0x9E;
|
| + static const int ZWYW = 0xDE;
|
| + static const int ZWZX = 0x2E;
|
| + static const int ZWZY = 0x6E;
|
| + static const int ZWZZ = 0xAE;
|
| + static const int ZWZW = 0xEE;
|
| + static const int ZWWX = 0x3E;
|
| + static const int ZWWY = 0x7E;
|
| + static const int ZWWZ = 0xBE;
|
| + static const int ZWWW = 0xFE;
|
| + static const int WXXX = 0x3;
|
| + static const int WXXY = 0x43;
|
| + static const int WXXZ = 0x83;
|
| + static const int WXXW = 0xC3;
|
| + static const int WXYX = 0x13;
|
| + static const int WXYY = 0x53;
|
| + static const int WXYZ = 0x93;
|
| + static const int WXYW = 0xD3;
|
| + static const int WXZX = 0x23;
|
| + static const int WXZY = 0x63;
|
| + static const int WXZZ = 0xA3;
|
| + static const int WXZW = 0xE3;
|
| + static const int WXWX = 0x33;
|
| + static const int WXWY = 0x73;
|
| + static const int WXWZ = 0xB3;
|
| + static const int WXWW = 0xF3;
|
| + static const int WYXX = 0x7;
|
| + static const int WYXY = 0x47;
|
| + static const int WYXZ = 0x87;
|
| + static const int WYXW = 0xC7;
|
| + static const int WYYX = 0x17;
|
| + static const int WYYY = 0x57;
|
| + static const int WYYZ = 0x97;
|
| + static const int WYYW = 0xD7;
|
| + static const int WYZX = 0x27;
|
| + static const int WYZY = 0x67;
|
| + static const int WYZZ = 0xA7;
|
| + static const int WYZW = 0xE7;
|
| + static const int WYWX = 0x37;
|
| + static const int WYWY = 0x77;
|
| + static const int WYWZ = 0xB7;
|
| + static const int WYWW = 0xF7;
|
| + static const int WZXX = 0xB;
|
| + static const int WZXY = 0x4B;
|
| + static const int WZXZ = 0x8B;
|
| + static const int WZXW = 0xCB;
|
| + static const int WZYX = 0x1B;
|
| + static const int WZYY = 0x5B;
|
| + static const int WZYZ = 0x9B;
|
| + static const int WZYW = 0xDB;
|
| + static const int WZZX = 0x2B;
|
| + static const int WZZY = 0x6B;
|
| + static const int WZZZ = 0xAB;
|
| + static const int WZZW = 0xEB;
|
| + static const int WZWX = 0x3B;
|
| + static const int WZWY = 0x7B;
|
| + static const int WZWZ = 0xBB;
|
| + static const int WZWW = 0xFB;
|
| + static const int WWXX = 0xF;
|
| + static const int WWXY = 0x4F;
|
| + static const int WWXZ = 0x8F;
|
| + static const int WWXW = 0xCF;
|
| + static const int WWYX = 0x1F;
|
| + static const int WWYY = 0x5F;
|
| + static const int WWYZ = 0x9F;
|
| + static const int WWYW = 0xDF;
|
| + static const int WWZX = 0x2F;
|
| + static const int WWZY = 0x6F;
|
| + static const int WWZZ = 0xAF;
|
| + static const int WWZW = 0xEF;
|
| + static const int WWWX = 0x3F;
|
| + static const int WWWY = 0x7F;
|
| + static const int WWWZ = 0xBF;
|
| + static const int WWWW = 0xFF;
|
| +
|
| + /// Shuffle the lane values. [mask] must be one of the 256 shuffle constants.
|
| + Uint32x4 shuffle(int mask);
|
| +
|
| + /// Shuffle the lane values in [this] and [other]. The returned
|
| + /// Uint32x4 will have XY lanes from [this] and ZW lanes from [other].
|
| + /// Uses the same [mask] as [shuffle].
|
| + Uint32x4 shuffleMix(Uint32x4 other, int mask);
|
| +
|
| /// Returns a new [Uint32x4] copied from [this] with a new x value.
|
| Uint32x4 withX(int x);
|
| /// Returns a new [Uint32x4] copied from [this] with a new y value.
|
|
|