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

Unified Diff: test/codegen/lib/typed_data/float32x4_shuffle_test.dart

Issue 1673863002: Infra for running lib tests (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Reformat Created 4 years, 10 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: 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);
+ }
+}
« no previous file with comments | « test/codegen/lib/typed_data/float32x4_list_test.dart ('k') | test/codegen/lib/typed_data/float32x4_sign_mask_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698