| Index: tests/lib/typed_data/float32x4_shuffle_test.dart
|
| diff --git a/tests/lib/typed_data/float32x4_shuffle_test.dart b/tests/lib/typed_data/float32x4_shuffle_test.dart
|
| index a863f120d792cbe13c33cd56bbe4ec6964b61b1e..d12f86da0b9e60bcae1259d136971341c2c4b778 100644
|
| --- a/tests/lib/typed_data/float32x4_shuffle_test.dart
|
| +++ b/tests/lib/typed_data/float32x4_shuffle_test.dart
|
| @@ -9,1300 +9,1360 @@ library float32x4_shuffle_test;
|
| import "package:expect/expect.dart";
|
| import 'dart:typed_data';
|
|
|
| -void testShuffle0() {
|
| +void testShuffle00() {
|
| var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| var c;
|
| - c = m.xxxx;
|
| + c = m.shuffle(Float32x4.XXXX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xxxy;
|
| + c = m.shuffle(Float32x4.XXXY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xxxz;
|
| + c = m.shuffle(Float32x4.XXXZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xxxw;
|
| + c = m.shuffle(Float32x4.XXXW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xxyx;
|
| + c = m.shuffle(Float32x4.XXYX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xxyy;
|
| + c = m.shuffle(Float32x4.XXYY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xxyz;
|
| + c = m.shuffle(Float32x4.XXYZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xxyw;
|
| + c = m.shuffle(Float32x4.XXYW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xxzx;
|
| + c = m.shuffle(Float32x4.XXZX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xxzy;
|
| + c = m.shuffle(Float32x4.XXZY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xxzz;
|
| + c = m.shuffle(Float32x4.XXZZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xxzw;
|
| + c = m.shuffle(Float32x4.XXZW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xxwx;
|
| + c = m.shuffle(Float32x4.XXWX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xxwy;
|
| + c = m.shuffle(Float32x4.XXWY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xxwz;
|
| + c = m.shuffle(Float32x4.XXWZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xxww;
|
| + c = m.shuffle(Float32x4.XXWW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xyxx;
|
| +}
|
| +
|
| +void testShuffle01() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.XYXX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xyxy;
|
| + c = m.shuffle(Float32x4.XYXY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xyxz;
|
| + c = m.shuffle(Float32x4.XYXZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xyxw;
|
| + c = m.shuffle(Float32x4.XYXW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xyyx;
|
| + c = m.shuffle(Float32x4.XYYX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xyyy;
|
| + c = m.shuffle(Float32x4.XYYY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xyyz;
|
| + c = m.shuffle(Float32x4.XYYZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xyyw;
|
| + c = m.shuffle(Float32x4.XYYW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xyzx;
|
| + c = m.shuffle(Float32x4.XYZX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xyzy;
|
| + c = m.shuffle(Float32x4.XYZY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xyzz;
|
| + c = m.shuffle(Float32x4.XYZZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xyzw;
|
| + c = m.shuffle(Float32x4.XYZW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xywx;
|
| + c = m.shuffle(Float32x4.XYWX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xywy;
|
| + c = m.shuffle(Float32x4.XYWY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xywz;
|
| + c = m.shuffle(Float32x4.XYWZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xyww;
|
| + c = m.shuffle(Float32x4.XYWW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xzxx;
|
| +}
|
| +
|
| +void testShuffle02() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.XZXX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xzxy;
|
| + c = m.shuffle(Float32x4.XZXY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xzxz;
|
| + c = m.shuffle(Float32x4.XZXZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xzxw;
|
| + c = m.shuffle(Float32x4.XZXW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xzyx;
|
| + c = m.shuffle(Float32x4.XZYX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xzyy;
|
| + c = m.shuffle(Float32x4.XZYY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xzyz;
|
| + c = m.shuffle(Float32x4.XZYZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xzyw;
|
| + c = m.shuffle(Float32x4.XZYW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xzzx;
|
| + c = m.shuffle(Float32x4.XZZX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xzzy;
|
| + c = m.shuffle(Float32x4.XZZY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xzzz;
|
| + c = m.shuffle(Float32x4.XZZZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xzzw;
|
| + c = m.shuffle(Float32x4.XZZW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xzwx;
|
| + c = m.shuffle(Float32x4.XZWX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xzwy;
|
| + c = m.shuffle(Float32x4.XZWY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xzwz;
|
| + c = m.shuffle(Float32x4.XZWZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xzww;
|
| + c = m.shuffle(Float32x4.XZWW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xwxx;
|
| +}
|
| +
|
| +void testShuffle03() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.XWXX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xwxy;
|
| + c = m.shuffle(Float32x4.XWXY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xwxz;
|
| + c = m.shuffle(Float32x4.XWXZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xwxw;
|
| + c = m.shuffle(Float32x4.XWXW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xwyx;
|
| + c = m.shuffle(Float32x4.XWYX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xwyy;
|
| + c = m.shuffle(Float32x4.XWYY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xwyz;
|
| + c = m.shuffle(Float32x4.XWYZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xwyw;
|
| + c = m.shuffle(Float32x4.XWYW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xwzx;
|
| + c = m.shuffle(Float32x4.XWZX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xwzy;
|
| + c = m.shuffle(Float32x4.XWZY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xwzz;
|
| + c = m.shuffle(Float32x4.XWZZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xwzw;
|
| + c = m.shuffle(Float32x4.XWZW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.xwwx;
|
| + c = m.shuffle(Float32x4.XWWX);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.xwwy;
|
| + c = m.shuffle(Float32x4.XWWY);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.xwwz;
|
| + c = m.shuffle(Float32x4.XWWZ);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.xwww;
|
| + c = m.shuffle(Float32x4.XWWW);
|
| Expect.equals(1.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| }
|
|
|
| -void testShuffle1() {
|
| +void testShuffle10() {
|
| var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| var c;
|
| - c = m.yxxx;
|
| + c = m.shuffle(Float32x4.YXXX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yxxy;
|
| + c = m.shuffle(Float32x4.YXXY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yxxz;
|
| + c = m.shuffle(Float32x4.YXXZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yxxw;
|
| + c = m.shuffle(Float32x4.YXXW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yxyx;
|
| + c = m.shuffle(Float32x4.YXYX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yxyy;
|
| + c = m.shuffle(Float32x4.YXYY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yxyz;
|
| + c = m.shuffle(Float32x4.YXYZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yxyw;
|
| + c = m.shuffle(Float32x4.YXYW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yxzx;
|
| + c = m.shuffle(Float32x4.YXZX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yxzy;
|
| + c = m.shuffle(Float32x4.YXZY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yxzz;
|
| + c = m.shuffle(Float32x4.YXZZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yxzw;
|
| + c = m.shuffle(Float32x4.YXZW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yxwx;
|
| + c = m.shuffle(Float32x4.YXWX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yxwy;
|
| + c = m.shuffle(Float32x4.YXWY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yxwz;
|
| + c = m.shuffle(Float32x4.YXWZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yxww;
|
| + c = m.shuffle(Float32x4.YXWW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yyxx;
|
| +}
|
| +
|
| +void testShuffle11() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.YYXX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yyxy;
|
| + c = m.shuffle(Float32x4.YYXY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yyxz;
|
| + c = m.shuffle(Float32x4.YYXZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yyxw;
|
| + c = m.shuffle(Float32x4.YYXW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yyyx;
|
| + c = m.shuffle(Float32x4.YYYX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yyyy;
|
| + c = m.shuffle(Float32x4.YYYY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yyyz;
|
| + c = m.shuffle(Float32x4.YYYZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yyyw;
|
| + c = m.shuffle(Float32x4.YYYW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yyzx;
|
| + c = m.shuffle(Float32x4.YYZX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yyzy;
|
| + c = m.shuffle(Float32x4.YYZY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yyzz;
|
| + c = m.shuffle(Float32x4.YYZZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yyzw;
|
| + c = m.shuffle(Float32x4.YYZW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yywx;
|
| + c = m.shuffle(Float32x4.YYWX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yywy;
|
| + c = m.shuffle(Float32x4.YYWY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yywz;
|
| + c = m.shuffle(Float32x4.YYWZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yyww;
|
| + c = m.shuffle(Float32x4.YYWW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yzxx;
|
| +}
|
| +
|
| +void testShuffle12() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.YZXX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yzxy;
|
| + c = m.shuffle(Float32x4.YZXY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yzxz;
|
| + c = m.shuffle(Float32x4.YZXZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yzxw;
|
| + c = m.shuffle(Float32x4.YZXW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yzyx;
|
| + c = m.shuffle(Float32x4.YZYX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yzyy;
|
| + c = m.shuffle(Float32x4.YZYY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yzyz;
|
| + c = m.shuffle(Float32x4.YZYZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yzyw;
|
| + c = m.shuffle(Float32x4.YZYW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yzzx;
|
| + c = m.shuffle(Float32x4.YZZX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yzzy;
|
| + c = m.shuffle(Float32x4.YZZY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yzzz;
|
| + c = m.shuffle(Float32x4.YZZZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yzzw;
|
| + c = m.shuffle(Float32x4.YZZW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.yzwx;
|
| + c = m.shuffle(Float32x4.YZWX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.yzwy;
|
| + c = m.shuffle(Float32x4.YZWY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.yzwz;
|
| + c = m.shuffle(Float32x4.YZWZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.yzww;
|
| + c = m.shuffle(Float32x4.YZWW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.ywxx;
|
| +}
|
| +
|
| +void testShuffle13() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.YWXX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.ywxy;
|
| + c = m.shuffle(Float32x4.YWXY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.ywxz;
|
| + c = m.shuffle(Float32x4.YWXZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.ywxw;
|
| + c = m.shuffle(Float32x4.YWXW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.ywyx;
|
| + c = m.shuffle(Float32x4.YWYX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.ywyy;
|
| + c = m.shuffle(Float32x4.YWYY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.ywyz;
|
| + c = m.shuffle(Float32x4.YWYZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.ywyw;
|
| + c = m.shuffle(Float32x4.YWYW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.ywzx;
|
| + c = m.shuffle(Float32x4.YWZX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.ywzy;
|
| + c = m.shuffle(Float32x4.YWZY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.ywzz;
|
| + c = m.shuffle(Float32x4.YWZZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.ywzw;
|
| + c = m.shuffle(Float32x4.YWZW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.ywwx;
|
| + c = m.shuffle(Float32x4.YWWX);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.ywwy;
|
| + c = m.shuffle(Float32x4.YWWY);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.ywwz;
|
| + c = m.shuffle(Float32x4.YWWZ);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.ywww;
|
| + c = m.shuffle(Float32x4.YWWW);
|
| Expect.equals(2.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| }
|
|
|
| -void testShuffle2() {
|
| +void testShuffle20() {
|
| var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| var c;
|
| - c = m.zxxx;
|
| + c = m.shuffle(Float32x4.ZXXX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zxxy;
|
| + c = m.shuffle(Float32x4.ZXXY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zxxz;
|
| + c = m.shuffle(Float32x4.ZXXZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zxxw;
|
| + c = m.shuffle(Float32x4.ZXXW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zxyx;
|
| + c = m.shuffle(Float32x4.ZXYX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zxyy;
|
| + c = m.shuffle(Float32x4.ZXYY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zxyz;
|
| + c = m.shuffle(Float32x4.ZXYZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zxyw;
|
| + c = m.shuffle(Float32x4.ZXYW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zxzx;
|
| + c = m.shuffle(Float32x4.ZXZX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zxzy;
|
| + c = m.shuffle(Float32x4.ZXZY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zxzz;
|
| + c = m.shuffle(Float32x4.ZXZZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zxzw;
|
| + c = m.shuffle(Float32x4.ZXZW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zxwx;
|
| + c = m.shuffle(Float32x4.ZXWX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zxwy;
|
| + c = m.shuffle(Float32x4.ZXWY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zxwz;
|
| + c = m.shuffle(Float32x4.ZXWZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zxww;
|
| + c = m.shuffle(Float32x4.ZXWW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zyxx;
|
| +}
|
| +
|
| +void testShuffle21() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.ZYXX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zyxy;
|
| + c = m.shuffle(Float32x4.ZYXY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zyxz;
|
| + c = m.shuffle(Float32x4.ZYXZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zyxw;
|
| + c = m.shuffle(Float32x4.ZYXW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zyyx;
|
| + c = m.shuffle(Float32x4.ZYYX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zyyy;
|
| + c = m.shuffle(Float32x4.ZYYY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zyyz;
|
| + c = m.shuffle(Float32x4.ZYYZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zyyw;
|
| + c = m.shuffle(Float32x4.ZYYW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zyzx;
|
| + c = m.shuffle(Float32x4.ZYZX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zyzy;
|
| + c = m.shuffle(Float32x4.ZYZY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zyzz;
|
| + c = m.shuffle(Float32x4.ZYZZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zyzw;
|
| + c = m.shuffle(Float32x4.ZYZW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zywx;
|
| + c = m.shuffle(Float32x4.ZYWX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zywy;
|
| + c = m.shuffle(Float32x4.ZYWY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zywz;
|
| + c = m.shuffle(Float32x4.ZYWZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zyww;
|
| + c = m.shuffle(Float32x4.ZYWW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zzxx;
|
| +}
|
| +
|
| +void testShuffle22() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.ZZXX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zzxy;
|
| + c = m.shuffle(Float32x4.ZZXY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zzxz;
|
| + c = m.shuffle(Float32x4.ZZXZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zzxw;
|
| + c = m.shuffle(Float32x4.ZZXW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zzyx;
|
| + c = m.shuffle(Float32x4.ZZYX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zzyy;
|
| + c = m.shuffle(Float32x4.ZZYY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zzyz;
|
| + c = m.shuffle(Float32x4.ZZYZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zzyw;
|
| + c = m.shuffle(Float32x4.ZZYW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zzzx;
|
| + c = m.shuffle(Float32x4.ZZZX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zzzy;
|
| + c = m.shuffle(Float32x4.ZZZY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zzzz;
|
| + c = m.shuffle(Float32x4.ZZZZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zzzw;
|
| + c = m.shuffle(Float32x4.ZZZW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zzwx;
|
| + c = m.shuffle(Float32x4.ZZWX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zzwy;
|
| + c = m.shuffle(Float32x4.ZZWY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zzwz;
|
| + c = m.shuffle(Float32x4.ZZWZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zzww;
|
| + c = m.shuffle(Float32x4.ZZWW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zwxx;
|
| +}
|
| +
|
| +void testShuffle23() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.ZWXX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zwxy;
|
| + c = m.shuffle(Float32x4.ZWXY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zwxz;
|
| + c = m.shuffle(Float32x4.ZWXZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zwxw;
|
| + c = m.shuffle(Float32x4.ZWXW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zwyx;
|
| + c = m.shuffle(Float32x4.ZWYX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zwyy;
|
| + c = m.shuffle(Float32x4.ZWYY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zwyz;
|
| + c = m.shuffle(Float32x4.ZWYZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zwyw;
|
| + c = m.shuffle(Float32x4.ZWYW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zwzx;
|
| + c = m.shuffle(Float32x4.ZWZX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zwzy;
|
| + c = m.shuffle(Float32x4.ZWZY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zwzz;
|
| + c = m.shuffle(Float32x4.ZWZZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zwzw;
|
| + c = m.shuffle(Float32x4.ZWZW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.zwwx;
|
| + c = m.shuffle(Float32x4.ZWWX);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.zwwy;
|
| + c = m.shuffle(Float32x4.ZWWY);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.zwwz;
|
| + c = m.shuffle(Float32x4.ZWWZ);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.zwww;
|
| + c = m.shuffle(Float32x4.ZWWW);
|
| Expect.equals(3.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| }
|
|
|
| -void testShuffle3() {
|
| +void testShuffle30() {
|
| var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| var c;
|
| - c = m.wxxx;
|
| + c = m.shuffle(Float32x4.WXXX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wxxy;
|
| + c = m.shuffle(Float32x4.WXXY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wxxz;
|
| + c = m.shuffle(Float32x4.WXXZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wxxw;
|
| + c = m.shuffle(Float32x4.WXXW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wxyx;
|
| + c = m.shuffle(Float32x4.WXYX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wxyy;
|
| + c = m.shuffle(Float32x4.WXYY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wxyz;
|
| + c = m.shuffle(Float32x4.WXYZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wxyw;
|
| + c = m.shuffle(Float32x4.WXYW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wxzx;
|
| + c = m.shuffle(Float32x4.WXZX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wxzy;
|
| + c = m.shuffle(Float32x4.WXZY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wxzz;
|
| + c = m.shuffle(Float32x4.WXZZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wxzw;
|
| + c = m.shuffle(Float32x4.WXZW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wxwx;
|
| + c = m.shuffle(Float32x4.WXWX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wxwy;
|
| + c = m.shuffle(Float32x4.WXWY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wxwz;
|
| + c = m.shuffle(Float32x4.WXWZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wxww;
|
| + c = m.shuffle(Float32x4.WXWW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(1.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wyxx;
|
| +}
|
| +
|
| +void testShuffle31() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.WYXX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wyxy;
|
| + c = m.shuffle(Float32x4.WYXY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wyxz;
|
| + c = m.shuffle(Float32x4.WYXZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wyxw;
|
| + c = m.shuffle(Float32x4.WYXW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wyyx;
|
| + c = m.shuffle(Float32x4.WYYX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wyyy;
|
| + c = m.shuffle(Float32x4.WYYY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wyyz;
|
| + c = m.shuffle(Float32x4.WYYZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wyyw;
|
| + c = m.shuffle(Float32x4.WYYW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wyzx;
|
| + c = m.shuffle(Float32x4.WYZX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wyzy;
|
| + c = m.shuffle(Float32x4.WYZY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wyzz;
|
| + c = m.shuffle(Float32x4.WYZZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wyzw;
|
| + c = m.shuffle(Float32x4.WYZW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wywx;
|
| + c = m.shuffle(Float32x4.WYWX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wywy;
|
| + c = m.shuffle(Float32x4.WYWY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wywz;
|
| + c = m.shuffle(Float32x4.WYWZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wyww;
|
| + c = m.shuffle(Float32x4.WYWW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(2.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wzxx;
|
| +}
|
| +
|
| +void testShuffle32() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.WZXX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wzxy;
|
| + c = m.shuffle(Float32x4.WZXY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wzxz;
|
| + c = m.shuffle(Float32x4.WZXZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wzxw;
|
| + c = m.shuffle(Float32x4.WZXW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wzyx;
|
| + c = m.shuffle(Float32x4.WZYX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wzyy;
|
| + c = m.shuffle(Float32x4.WZYY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wzyz;
|
| + c = m.shuffle(Float32x4.WZYZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wzyw;
|
| + c = m.shuffle(Float32x4.WZYW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wzzx;
|
| + c = m.shuffle(Float32x4.WZZX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wzzy;
|
| + c = m.shuffle(Float32x4.WZZY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wzzz;
|
| + c = m.shuffle(Float32x4.WZZZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wzzw;
|
| + c = m.shuffle(Float32x4.WZZW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wzwx;
|
| + c = m.shuffle(Float32x4.WZWX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wzwy;
|
| + c = m.shuffle(Float32x4.WZWY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wzwz;
|
| + c = m.shuffle(Float32x4.WZWZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wzww;
|
| + c = m.shuffle(Float32x4.WZWW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(3.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wwxx;
|
| +}
|
| +
|
| +void testShuffle33() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.WWXX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wwxy;
|
| + c = m.shuffle(Float32x4.WWXY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wwxz;
|
| + c = m.shuffle(Float32x4.WWXZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wwxw;
|
| + c = m.shuffle(Float32x4.WWXW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(1.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wwyx;
|
| + c = m.shuffle(Float32x4.WWYX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wwyy;
|
| + c = m.shuffle(Float32x4.WWYY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wwyz;
|
| + c = m.shuffle(Float32x4.WWYZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wwyw;
|
| + c = m.shuffle(Float32x4.WWYW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(2.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wwzx;
|
| + c = m.shuffle(Float32x4.WWZX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wwzy;
|
| + c = m.shuffle(Float32x4.WWZY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wwzz;
|
| + c = m.shuffle(Float32x4.WWZZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wwzw;
|
| + c = m.shuffle(Float32x4.WWZW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(3.0, c.z);
|
| Expect.equals(4.0, c.w);
|
| - c = m.wwwx;
|
| + c = m.shuffle(Float32x4.WWWX);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(1.0, c.w);
|
| - c = m.wwwy;
|
| + c = m.shuffle(Float32x4.WWWY);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(2.0, c.w);
|
| - c = m.wwwz;
|
| + c = m.shuffle(Float32x4.WWWZ);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| Expect.equals(3.0, c.w);
|
| - c = m.wwww;
|
| + c = m.shuffle(Float32x4.WWWW);
|
| Expect.equals(4.0, c.x);
|
| Expect.equals(4.0, c.y);
|
| Expect.equals(4.0, c.z);
|
| @@ -1310,11 +1370,68 @@ void testShuffle3() {
|
| }
|
|
|
|
|
| +void testShuffleNonConstant(mask) {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(mask);
|
| + if (mask == 1) {
|
| + Expect.equals(2.0, c.x);
|
| + Expect.equals(1.0, c.y);
|
| + Expect.equals(1.0, c.z);
|
| + Expect.equals(1.0, c.w);
|
| + } else {
|
| + Expect.equals(Float32x4.YYYY + 1, mask);
|
| + Expect.equals(3.0, c.x);
|
| + Expect.equals(2.0, c.y);
|
| + Expect.equals(2.0, c.z);
|
| + Expect.equals(2.0, c.w);
|
| + }
|
| +}
|
| +
|
| +void testInvalidShuffle(mask) {
|
| + // Not a valid mask.
|
| + Expect.isFalse(mask <= 255 && mask >= 0);
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + Expect.throws(() {
|
| + c = m.shuffle(mask);
|
| + });
|
| +}
|
| +
|
| +void testShuffle() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + c = m.shuffle(Float32x4.WZYX);
|
| + Expect.equals(4.0, c.x);
|
| + Expect.equals(3.0, c.y);
|
| + Expect.equals(2.0, c.z);
|
| + Expect.equals(1.0, c.w);
|
| +}
|
| +
|
| main() {
|
| + var xxxx = Float32x4.XXXX + 1;
|
| + var yyyy = Float32x4.YYYY + 1;
|
| for (int i = 0; i < 20; i++) {
|
| - testShuffle0();
|
| - testShuffle1();
|
| - testShuffle2();
|
| - testShuffle3();
|
| + testShuffle();
|
| + testShuffle00();
|
| + testShuffle01();
|
| + testShuffle02();
|
| + testShuffle03();
|
| + testShuffle10();
|
| + testShuffle11();
|
| + testShuffle12();
|
| + testShuffle13();
|
| + testShuffle20();
|
| + testShuffle21();
|
| + testShuffle22();
|
| + testShuffle23();
|
| + testShuffle30();
|
| + testShuffle31();
|
| + testShuffle32();
|
| + testShuffle33();
|
| + testShuffleNonConstant(xxxx);
|
| + testShuffleNonConstant(yyyy);
|
| + testInvalidShuffle(256);
|
| + testInvalidShuffle(-1);
|
| }
|
| }
|
|
|