Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: tests/lib/typed_data/float32x4_shuffle_test.dart

Issue 19564014: Add all 256 shuffle methods to Float32x4 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
new file mode 100644
index 0000000000000000000000000000000000000000..5492259962226ff5db81bb59dfd388c84596d98e
--- /dev/null
+++ b/tests/lib/typed_data/float32x4_shuffle_test.dart
@@ -0,0 +1,1319 @@
+// 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.
+
+// Library tag to be able to run in html test framework.
+library float32x4_shuffle_test;
+
+import "package:expect/expect.dart";
+import 'dart:typed_data';
+
+void testShuffle0() {
+ var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ var c;
+ c = m.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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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() {
+ var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ var c;
+ c = m.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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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() {
+ var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ var c;
+ c = m.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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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() {
+ var m = new Float32x4(1.0, 2.0, 3.0, 4.0);
+ var c;
+ c = m.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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ 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;
+ Expect.equals(4.0, c.x);
+ Expect.equals(4.0, c.y);
+ Expect.equals(4.0, c.z);
+ Expect.equals(4.0, c.w);
+}
+
+
+main() {
+ for (int i = 0; i < 4000; i++) {
+ testShuffle0();
+ testShuffle1();
+ testShuffle2();
+ testShuffle3();
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698