| Index: test/codegen/lib/typed_data/float32x4_shuffle_test.dart
|
| diff --git a/test/codegen/lib/typed_data/float32x4_shuffle_test.dart b/test/codegen/lib/typed_data/float32x4_shuffle_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..751ad2dba24c9733ff6054a4fc3a596c2172f39b
|
| --- /dev/null
|
| +++ b/test/codegen/lib/typed_data/float32x4_shuffle_test.dart
|
| @@ -0,0 +1,1437 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +// VMOptions=--optimization-counter-threshold=10
|
| +
|
| +// Library tag to be able to run in html test framework.
|
| +library float32x4_shuffle_test;
|
| +
|
| +import 'dart:typed_data';
|
| +import "package:expect/expect.dart";
|
| +
|
| +void testShuffle00() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 testShuffle10() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 testShuffle20() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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 testShuffle30() {
|
| + var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
|
| + var c;
|
| + 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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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);
|
| +}
|
| +
|
| +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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.shuffle(Float32x4.WWWW);
|
| + Expect.equals(4.0, c.x);
|
| + Expect.equals(4.0, c.y);
|
| + Expect.equals(4.0, c.z);
|
| + Expect.equals(4.0, c.w);
|
| +}
|
| +
|
| +
|
| +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++) {
|
| + 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);
|
| + }
|
| +}
|
|
|