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

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

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

Powered by Google App Engine
This is Rietveld 408576698