1 // Generated by swizzlegen. Do not edit.
2 #[macro_use]
3 mod support;
4 use glam::*;
5 
6 glam_test!(test_ivec4_swizzles, {
7     let v = ivec4(1_i32, 2_i32, 3_i32, 4_i32);
8     assert_eq!(v, v.xyzw());
9     assert_eq!(v.xxxx(), ivec4(1_i32, 1_i32, 1_i32, 1_i32));
10     assert_eq!(v.xxxy(), ivec4(1_i32, 1_i32, 1_i32, 2_i32));
11     assert_eq!(v.xxxz(), ivec4(1_i32, 1_i32, 1_i32, 3_i32));
12     assert_eq!(v.xxxw(), ivec4(1_i32, 1_i32, 1_i32, 4_i32));
13     assert_eq!(v.xxyx(), ivec4(1_i32, 1_i32, 2_i32, 1_i32));
14     assert_eq!(v.xxyy(), ivec4(1_i32, 1_i32, 2_i32, 2_i32));
15     assert_eq!(v.xxyz(), ivec4(1_i32, 1_i32, 2_i32, 3_i32));
16     assert_eq!(v.xxyw(), ivec4(1_i32, 1_i32, 2_i32, 4_i32));
17     assert_eq!(v.xxzx(), ivec4(1_i32, 1_i32, 3_i32, 1_i32));
18     assert_eq!(v.xxzy(), ivec4(1_i32, 1_i32, 3_i32, 2_i32));
19     assert_eq!(v.xxzz(), ivec4(1_i32, 1_i32, 3_i32, 3_i32));
20     assert_eq!(v.xxzw(), ivec4(1_i32, 1_i32, 3_i32, 4_i32));
21     assert_eq!(v.xxwx(), ivec4(1_i32, 1_i32, 4_i32, 1_i32));
22     assert_eq!(v.xxwy(), ivec4(1_i32, 1_i32, 4_i32, 2_i32));
23     assert_eq!(v.xxwz(), ivec4(1_i32, 1_i32, 4_i32, 3_i32));
24     assert_eq!(v.xxww(), ivec4(1_i32, 1_i32, 4_i32, 4_i32));
25     assert_eq!(v.xyxx(), ivec4(1_i32, 2_i32, 1_i32, 1_i32));
26     assert_eq!(v.xyxy(), ivec4(1_i32, 2_i32, 1_i32, 2_i32));
27     assert_eq!(v.xyxz(), ivec4(1_i32, 2_i32, 1_i32, 3_i32));
28     assert_eq!(v.xyxw(), ivec4(1_i32, 2_i32, 1_i32, 4_i32));
29     assert_eq!(v.xyyx(), ivec4(1_i32, 2_i32, 2_i32, 1_i32));
30     assert_eq!(v.xyyy(), ivec4(1_i32, 2_i32, 2_i32, 2_i32));
31     assert_eq!(v.xyyz(), ivec4(1_i32, 2_i32, 2_i32, 3_i32));
32     assert_eq!(v.xyyw(), ivec4(1_i32, 2_i32, 2_i32, 4_i32));
33     assert_eq!(v.xyzx(), ivec4(1_i32, 2_i32, 3_i32, 1_i32));
34     assert_eq!(v.xyzy(), ivec4(1_i32, 2_i32, 3_i32, 2_i32));
35     assert_eq!(v.xyzz(), ivec4(1_i32, 2_i32, 3_i32, 3_i32));
36     assert_eq!(v.xywx(), ivec4(1_i32, 2_i32, 4_i32, 1_i32));
37     assert_eq!(v.xywy(), ivec4(1_i32, 2_i32, 4_i32, 2_i32));
38     assert_eq!(v.xywz(), ivec4(1_i32, 2_i32, 4_i32, 3_i32));
39     assert_eq!(v.xyww(), ivec4(1_i32, 2_i32, 4_i32, 4_i32));
40     assert_eq!(v.xzxx(), ivec4(1_i32, 3_i32, 1_i32, 1_i32));
41     assert_eq!(v.xzxy(), ivec4(1_i32, 3_i32, 1_i32, 2_i32));
42     assert_eq!(v.xzxz(), ivec4(1_i32, 3_i32, 1_i32, 3_i32));
43     assert_eq!(v.xzxw(), ivec4(1_i32, 3_i32, 1_i32, 4_i32));
44     assert_eq!(v.xzyx(), ivec4(1_i32, 3_i32, 2_i32, 1_i32));
45     assert_eq!(v.xzyy(), ivec4(1_i32, 3_i32, 2_i32, 2_i32));
46     assert_eq!(v.xzyz(), ivec4(1_i32, 3_i32, 2_i32, 3_i32));
47     assert_eq!(v.xzyw(), ivec4(1_i32, 3_i32, 2_i32, 4_i32));
48     assert_eq!(v.xzzx(), ivec4(1_i32, 3_i32, 3_i32, 1_i32));
49     assert_eq!(v.xzzy(), ivec4(1_i32, 3_i32, 3_i32, 2_i32));
50     assert_eq!(v.xzzz(), ivec4(1_i32, 3_i32, 3_i32, 3_i32));
51     assert_eq!(v.xzzw(), ivec4(1_i32, 3_i32, 3_i32, 4_i32));
52     assert_eq!(v.xzwx(), ivec4(1_i32, 3_i32, 4_i32, 1_i32));
53     assert_eq!(v.xzwy(), ivec4(1_i32, 3_i32, 4_i32, 2_i32));
54     assert_eq!(v.xzwz(), ivec4(1_i32, 3_i32, 4_i32, 3_i32));
55     assert_eq!(v.xzww(), ivec4(1_i32, 3_i32, 4_i32, 4_i32));
56     assert_eq!(v.xwxx(), ivec4(1_i32, 4_i32, 1_i32, 1_i32));
57     assert_eq!(v.xwxy(), ivec4(1_i32, 4_i32, 1_i32, 2_i32));
58     assert_eq!(v.xwxz(), ivec4(1_i32, 4_i32, 1_i32, 3_i32));
59     assert_eq!(v.xwxw(), ivec4(1_i32, 4_i32, 1_i32, 4_i32));
60     assert_eq!(v.xwyx(), ivec4(1_i32, 4_i32, 2_i32, 1_i32));
61     assert_eq!(v.xwyy(), ivec4(1_i32, 4_i32, 2_i32, 2_i32));
62     assert_eq!(v.xwyz(), ivec4(1_i32, 4_i32, 2_i32, 3_i32));
63     assert_eq!(v.xwyw(), ivec4(1_i32, 4_i32, 2_i32, 4_i32));
64     assert_eq!(v.xwzx(), ivec4(1_i32, 4_i32, 3_i32, 1_i32));
65     assert_eq!(v.xwzy(), ivec4(1_i32, 4_i32, 3_i32, 2_i32));
66     assert_eq!(v.xwzz(), ivec4(1_i32, 4_i32, 3_i32, 3_i32));
67     assert_eq!(v.xwzw(), ivec4(1_i32, 4_i32, 3_i32, 4_i32));
68     assert_eq!(v.xwwx(), ivec4(1_i32, 4_i32, 4_i32, 1_i32));
69     assert_eq!(v.xwwy(), ivec4(1_i32, 4_i32, 4_i32, 2_i32));
70     assert_eq!(v.xwwz(), ivec4(1_i32, 4_i32, 4_i32, 3_i32));
71     assert_eq!(v.xwww(), ivec4(1_i32, 4_i32, 4_i32, 4_i32));
72     assert_eq!(v.yxxx(), ivec4(2_i32, 1_i32, 1_i32, 1_i32));
73     assert_eq!(v.yxxy(), ivec4(2_i32, 1_i32, 1_i32, 2_i32));
74     assert_eq!(v.yxxz(), ivec4(2_i32, 1_i32, 1_i32, 3_i32));
75     assert_eq!(v.yxxw(), ivec4(2_i32, 1_i32, 1_i32, 4_i32));
76     assert_eq!(v.yxyx(), ivec4(2_i32, 1_i32, 2_i32, 1_i32));
77     assert_eq!(v.yxyy(), ivec4(2_i32, 1_i32, 2_i32, 2_i32));
78     assert_eq!(v.yxyz(), ivec4(2_i32, 1_i32, 2_i32, 3_i32));
79     assert_eq!(v.yxyw(), ivec4(2_i32, 1_i32, 2_i32, 4_i32));
80     assert_eq!(v.yxzx(), ivec4(2_i32, 1_i32, 3_i32, 1_i32));
81     assert_eq!(v.yxzy(), ivec4(2_i32, 1_i32, 3_i32, 2_i32));
82     assert_eq!(v.yxzz(), ivec4(2_i32, 1_i32, 3_i32, 3_i32));
83     assert_eq!(v.yxzw(), ivec4(2_i32, 1_i32, 3_i32, 4_i32));
84     assert_eq!(v.yxwx(), ivec4(2_i32, 1_i32, 4_i32, 1_i32));
85     assert_eq!(v.yxwy(), ivec4(2_i32, 1_i32, 4_i32, 2_i32));
86     assert_eq!(v.yxwz(), ivec4(2_i32, 1_i32, 4_i32, 3_i32));
87     assert_eq!(v.yxww(), ivec4(2_i32, 1_i32, 4_i32, 4_i32));
88     assert_eq!(v.yyxx(), ivec4(2_i32, 2_i32, 1_i32, 1_i32));
89     assert_eq!(v.yyxy(), ivec4(2_i32, 2_i32, 1_i32, 2_i32));
90     assert_eq!(v.yyxz(), ivec4(2_i32, 2_i32, 1_i32, 3_i32));
91     assert_eq!(v.yyxw(), ivec4(2_i32, 2_i32, 1_i32, 4_i32));
92     assert_eq!(v.yyyx(), ivec4(2_i32, 2_i32, 2_i32, 1_i32));
93     assert_eq!(v.yyyy(), ivec4(2_i32, 2_i32, 2_i32, 2_i32));
94     assert_eq!(v.yyyz(), ivec4(2_i32, 2_i32, 2_i32, 3_i32));
95     assert_eq!(v.yyyw(), ivec4(2_i32, 2_i32, 2_i32, 4_i32));
96     assert_eq!(v.yyzx(), ivec4(2_i32, 2_i32, 3_i32, 1_i32));
97     assert_eq!(v.yyzy(), ivec4(2_i32, 2_i32, 3_i32, 2_i32));
98     assert_eq!(v.yyzz(), ivec4(2_i32, 2_i32, 3_i32, 3_i32));
99     assert_eq!(v.yyzw(), ivec4(2_i32, 2_i32, 3_i32, 4_i32));
100     assert_eq!(v.yywx(), ivec4(2_i32, 2_i32, 4_i32, 1_i32));
101     assert_eq!(v.yywy(), ivec4(2_i32, 2_i32, 4_i32, 2_i32));
102     assert_eq!(v.yywz(), ivec4(2_i32, 2_i32, 4_i32, 3_i32));
103     assert_eq!(v.yyww(), ivec4(2_i32, 2_i32, 4_i32, 4_i32));
104     assert_eq!(v.yzxx(), ivec4(2_i32, 3_i32, 1_i32, 1_i32));
105     assert_eq!(v.yzxy(), ivec4(2_i32, 3_i32, 1_i32, 2_i32));
106     assert_eq!(v.yzxz(), ivec4(2_i32, 3_i32, 1_i32, 3_i32));
107     assert_eq!(v.yzxw(), ivec4(2_i32, 3_i32, 1_i32, 4_i32));
108     assert_eq!(v.yzyx(), ivec4(2_i32, 3_i32, 2_i32, 1_i32));
109     assert_eq!(v.yzyy(), ivec4(2_i32, 3_i32, 2_i32, 2_i32));
110     assert_eq!(v.yzyz(), ivec4(2_i32, 3_i32, 2_i32, 3_i32));
111     assert_eq!(v.yzyw(), ivec4(2_i32, 3_i32, 2_i32, 4_i32));
112     assert_eq!(v.yzzx(), ivec4(2_i32, 3_i32, 3_i32, 1_i32));
113     assert_eq!(v.yzzy(), ivec4(2_i32, 3_i32, 3_i32, 2_i32));
114     assert_eq!(v.yzzz(), ivec4(2_i32, 3_i32, 3_i32, 3_i32));
115     assert_eq!(v.yzzw(), ivec4(2_i32, 3_i32, 3_i32, 4_i32));
116     assert_eq!(v.yzwx(), ivec4(2_i32, 3_i32, 4_i32, 1_i32));
117     assert_eq!(v.yzwy(), ivec4(2_i32, 3_i32, 4_i32, 2_i32));
118     assert_eq!(v.yzwz(), ivec4(2_i32, 3_i32, 4_i32, 3_i32));
119     assert_eq!(v.yzww(), ivec4(2_i32, 3_i32, 4_i32, 4_i32));
120     assert_eq!(v.ywxx(), ivec4(2_i32, 4_i32, 1_i32, 1_i32));
121     assert_eq!(v.ywxy(), ivec4(2_i32, 4_i32, 1_i32, 2_i32));
122     assert_eq!(v.ywxz(), ivec4(2_i32, 4_i32, 1_i32, 3_i32));
123     assert_eq!(v.ywxw(), ivec4(2_i32, 4_i32, 1_i32, 4_i32));
124     assert_eq!(v.ywyx(), ivec4(2_i32, 4_i32, 2_i32, 1_i32));
125     assert_eq!(v.ywyy(), ivec4(2_i32, 4_i32, 2_i32, 2_i32));
126     assert_eq!(v.ywyz(), ivec4(2_i32, 4_i32, 2_i32, 3_i32));
127     assert_eq!(v.ywyw(), ivec4(2_i32, 4_i32, 2_i32, 4_i32));
128     assert_eq!(v.ywzx(), ivec4(2_i32, 4_i32, 3_i32, 1_i32));
129     assert_eq!(v.ywzy(), ivec4(2_i32, 4_i32, 3_i32, 2_i32));
130     assert_eq!(v.ywzz(), ivec4(2_i32, 4_i32, 3_i32, 3_i32));
131     assert_eq!(v.ywzw(), ivec4(2_i32, 4_i32, 3_i32, 4_i32));
132     assert_eq!(v.ywwx(), ivec4(2_i32, 4_i32, 4_i32, 1_i32));
133     assert_eq!(v.ywwy(), ivec4(2_i32, 4_i32, 4_i32, 2_i32));
134     assert_eq!(v.ywwz(), ivec4(2_i32, 4_i32, 4_i32, 3_i32));
135     assert_eq!(v.ywww(), ivec4(2_i32, 4_i32, 4_i32, 4_i32));
136     assert_eq!(v.zxxx(), ivec4(3_i32, 1_i32, 1_i32, 1_i32));
137     assert_eq!(v.zxxy(), ivec4(3_i32, 1_i32, 1_i32, 2_i32));
138     assert_eq!(v.zxxz(), ivec4(3_i32, 1_i32, 1_i32, 3_i32));
139     assert_eq!(v.zxxw(), ivec4(3_i32, 1_i32, 1_i32, 4_i32));
140     assert_eq!(v.zxyx(), ivec4(3_i32, 1_i32, 2_i32, 1_i32));
141     assert_eq!(v.zxyy(), ivec4(3_i32, 1_i32, 2_i32, 2_i32));
142     assert_eq!(v.zxyz(), ivec4(3_i32, 1_i32, 2_i32, 3_i32));
143     assert_eq!(v.zxyw(), ivec4(3_i32, 1_i32, 2_i32, 4_i32));
144     assert_eq!(v.zxzx(), ivec4(3_i32, 1_i32, 3_i32, 1_i32));
145     assert_eq!(v.zxzy(), ivec4(3_i32, 1_i32, 3_i32, 2_i32));
146     assert_eq!(v.zxzz(), ivec4(3_i32, 1_i32, 3_i32, 3_i32));
147     assert_eq!(v.zxzw(), ivec4(3_i32, 1_i32, 3_i32, 4_i32));
148     assert_eq!(v.zxwx(), ivec4(3_i32, 1_i32, 4_i32, 1_i32));
149     assert_eq!(v.zxwy(), ivec4(3_i32, 1_i32, 4_i32, 2_i32));
150     assert_eq!(v.zxwz(), ivec4(3_i32, 1_i32, 4_i32, 3_i32));
151     assert_eq!(v.zxww(), ivec4(3_i32, 1_i32, 4_i32, 4_i32));
152     assert_eq!(v.zyxx(), ivec4(3_i32, 2_i32, 1_i32, 1_i32));
153     assert_eq!(v.zyxy(), ivec4(3_i32, 2_i32, 1_i32, 2_i32));
154     assert_eq!(v.zyxz(), ivec4(3_i32, 2_i32, 1_i32, 3_i32));
155     assert_eq!(v.zyxw(), ivec4(3_i32, 2_i32, 1_i32, 4_i32));
156     assert_eq!(v.zyyx(), ivec4(3_i32, 2_i32, 2_i32, 1_i32));
157     assert_eq!(v.zyyy(), ivec4(3_i32, 2_i32, 2_i32, 2_i32));
158     assert_eq!(v.zyyz(), ivec4(3_i32, 2_i32, 2_i32, 3_i32));
159     assert_eq!(v.zyyw(), ivec4(3_i32, 2_i32, 2_i32, 4_i32));
160     assert_eq!(v.zyzx(), ivec4(3_i32, 2_i32, 3_i32, 1_i32));
161     assert_eq!(v.zyzy(), ivec4(3_i32, 2_i32, 3_i32, 2_i32));
162     assert_eq!(v.zyzz(), ivec4(3_i32, 2_i32, 3_i32, 3_i32));
163     assert_eq!(v.zyzw(), ivec4(3_i32, 2_i32, 3_i32, 4_i32));
164     assert_eq!(v.zywx(), ivec4(3_i32, 2_i32, 4_i32, 1_i32));
165     assert_eq!(v.zywy(), ivec4(3_i32, 2_i32, 4_i32, 2_i32));
166     assert_eq!(v.zywz(), ivec4(3_i32, 2_i32, 4_i32, 3_i32));
167     assert_eq!(v.zyww(), ivec4(3_i32, 2_i32, 4_i32, 4_i32));
168     assert_eq!(v.zzxx(), ivec4(3_i32, 3_i32, 1_i32, 1_i32));
169     assert_eq!(v.zzxy(), ivec4(3_i32, 3_i32, 1_i32, 2_i32));
170     assert_eq!(v.zzxz(), ivec4(3_i32, 3_i32, 1_i32, 3_i32));
171     assert_eq!(v.zzxw(), ivec4(3_i32, 3_i32, 1_i32, 4_i32));
172     assert_eq!(v.zzyx(), ivec4(3_i32, 3_i32, 2_i32, 1_i32));
173     assert_eq!(v.zzyy(), ivec4(3_i32, 3_i32, 2_i32, 2_i32));
174     assert_eq!(v.zzyz(), ivec4(3_i32, 3_i32, 2_i32, 3_i32));
175     assert_eq!(v.zzyw(), ivec4(3_i32, 3_i32, 2_i32, 4_i32));
176     assert_eq!(v.zzzx(), ivec4(3_i32, 3_i32, 3_i32, 1_i32));
177     assert_eq!(v.zzzy(), ivec4(3_i32, 3_i32, 3_i32, 2_i32));
178     assert_eq!(v.zzzz(), ivec4(3_i32, 3_i32, 3_i32, 3_i32));
179     assert_eq!(v.zzzw(), ivec4(3_i32, 3_i32, 3_i32, 4_i32));
180     assert_eq!(v.zzwx(), ivec4(3_i32, 3_i32, 4_i32, 1_i32));
181     assert_eq!(v.zzwy(), ivec4(3_i32, 3_i32, 4_i32, 2_i32));
182     assert_eq!(v.zzwz(), ivec4(3_i32, 3_i32, 4_i32, 3_i32));
183     assert_eq!(v.zzww(), ivec4(3_i32, 3_i32, 4_i32, 4_i32));
184     assert_eq!(v.zwxx(), ivec4(3_i32, 4_i32, 1_i32, 1_i32));
185     assert_eq!(v.zwxy(), ivec4(3_i32, 4_i32, 1_i32, 2_i32));
186     assert_eq!(v.zwxz(), ivec4(3_i32, 4_i32, 1_i32, 3_i32));
187     assert_eq!(v.zwxw(), ivec4(3_i32, 4_i32, 1_i32, 4_i32));
188     assert_eq!(v.zwyx(), ivec4(3_i32, 4_i32, 2_i32, 1_i32));
189     assert_eq!(v.zwyy(), ivec4(3_i32, 4_i32, 2_i32, 2_i32));
190     assert_eq!(v.zwyz(), ivec4(3_i32, 4_i32, 2_i32, 3_i32));
191     assert_eq!(v.zwyw(), ivec4(3_i32, 4_i32, 2_i32, 4_i32));
192     assert_eq!(v.zwzx(), ivec4(3_i32, 4_i32, 3_i32, 1_i32));
193     assert_eq!(v.zwzy(), ivec4(3_i32, 4_i32, 3_i32, 2_i32));
194     assert_eq!(v.zwzz(), ivec4(3_i32, 4_i32, 3_i32, 3_i32));
195     assert_eq!(v.zwzw(), ivec4(3_i32, 4_i32, 3_i32, 4_i32));
196     assert_eq!(v.zwwx(), ivec4(3_i32, 4_i32, 4_i32, 1_i32));
197     assert_eq!(v.zwwy(), ivec4(3_i32, 4_i32, 4_i32, 2_i32));
198     assert_eq!(v.zwwz(), ivec4(3_i32, 4_i32, 4_i32, 3_i32));
199     assert_eq!(v.zwww(), ivec4(3_i32, 4_i32, 4_i32, 4_i32));
200     assert_eq!(v.wxxx(), ivec4(4_i32, 1_i32, 1_i32, 1_i32));
201     assert_eq!(v.wxxy(), ivec4(4_i32, 1_i32, 1_i32, 2_i32));
202     assert_eq!(v.wxxz(), ivec4(4_i32, 1_i32, 1_i32, 3_i32));
203     assert_eq!(v.wxxw(), ivec4(4_i32, 1_i32, 1_i32, 4_i32));
204     assert_eq!(v.wxyx(), ivec4(4_i32, 1_i32, 2_i32, 1_i32));
205     assert_eq!(v.wxyy(), ivec4(4_i32, 1_i32, 2_i32, 2_i32));
206     assert_eq!(v.wxyz(), ivec4(4_i32, 1_i32, 2_i32, 3_i32));
207     assert_eq!(v.wxyw(), ivec4(4_i32, 1_i32, 2_i32, 4_i32));
208     assert_eq!(v.wxzx(), ivec4(4_i32, 1_i32, 3_i32, 1_i32));
209     assert_eq!(v.wxzy(), ivec4(4_i32, 1_i32, 3_i32, 2_i32));
210     assert_eq!(v.wxzz(), ivec4(4_i32, 1_i32, 3_i32, 3_i32));
211     assert_eq!(v.wxzw(), ivec4(4_i32, 1_i32, 3_i32, 4_i32));
212     assert_eq!(v.wxwx(), ivec4(4_i32, 1_i32, 4_i32, 1_i32));
213     assert_eq!(v.wxwy(), ivec4(4_i32, 1_i32, 4_i32, 2_i32));
214     assert_eq!(v.wxwz(), ivec4(4_i32, 1_i32, 4_i32, 3_i32));
215     assert_eq!(v.wxww(), ivec4(4_i32, 1_i32, 4_i32, 4_i32));
216     assert_eq!(v.wyxx(), ivec4(4_i32, 2_i32, 1_i32, 1_i32));
217     assert_eq!(v.wyxy(), ivec4(4_i32, 2_i32, 1_i32, 2_i32));
218     assert_eq!(v.wyxz(), ivec4(4_i32, 2_i32, 1_i32, 3_i32));
219     assert_eq!(v.wyxw(), ivec4(4_i32, 2_i32, 1_i32, 4_i32));
220     assert_eq!(v.wyyx(), ivec4(4_i32, 2_i32, 2_i32, 1_i32));
221     assert_eq!(v.wyyy(), ivec4(4_i32, 2_i32, 2_i32, 2_i32));
222     assert_eq!(v.wyyz(), ivec4(4_i32, 2_i32, 2_i32, 3_i32));
223     assert_eq!(v.wyyw(), ivec4(4_i32, 2_i32, 2_i32, 4_i32));
224     assert_eq!(v.wyzx(), ivec4(4_i32, 2_i32, 3_i32, 1_i32));
225     assert_eq!(v.wyzy(), ivec4(4_i32, 2_i32, 3_i32, 2_i32));
226     assert_eq!(v.wyzz(), ivec4(4_i32, 2_i32, 3_i32, 3_i32));
227     assert_eq!(v.wyzw(), ivec4(4_i32, 2_i32, 3_i32, 4_i32));
228     assert_eq!(v.wywx(), ivec4(4_i32, 2_i32, 4_i32, 1_i32));
229     assert_eq!(v.wywy(), ivec4(4_i32, 2_i32, 4_i32, 2_i32));
230     assert_eq!(v.wywz(), ivec4(4_i32, 2_i32, 4_i32, 3_i32));
231     assert_eq!(v.wyww(), ivec4(4_i32, 2_i32, 4_i32, 4_i32));
232     assert_eq!(v.wzxx(), ivec4(4_i32, 3_i32, 1_i32, 1_i32));
233     assert_eq!(v.wzxy(), ivec4(4_i32, 3_i32, 1_i32, 2_i32));
234     assert_eq!(v.wzxz(), ivec4(4_i32, 3_i32, 1_i32, 3_i32));
235     assert_eq!(v.wzxw(), ivec4(4_i32, 3_i32, 1_i32, 4_i32));
236     assert_eq!(v.wzyx(), ivec4(4_i32, 3_i32, 2_i32, 1_i32));
237     assert_eq!(v.wzyy(), ivec4(4_i32, 3_i32, 2_i32, 2_i32));
238     assert_eq!(v.wzyz(), ivec4(4_i32, 3_i32, 2_i32, 3_i32));
239     assert_eq!(v.wzyw(), ivec4(4_i32, 3_i32, 2_i32, 4_i32));
240     assert_eq!(v.wzzx(), ivec4(4_i32, 3_i32, 3_i32, 1_i32));
241     assert_eq!(v.wzzy(), ivec4(4_i32, 3_i32, 3_i32, 2_i32));
242     assert_eq!(v.wzzz(), ivec4(4_i32, 3_i32, 3_i32, 3_i32));
243     assert_eq!(v.wzzw(), ivec4(4_i32, 3_i32, 3_i32, 4_i32));
244     assert_eq!(v.wzwx(), ivec4(4_i32, 3_i32, 4_i32, 1_i32));
245     assert_eq!(v.wzwy(), ivec4(4_i32, 3_i32, 4_i32, 2_i32));
246     assert_eq!(v.wzwz(), ivec4(4_i32, 3_i32, 4_i32, 3_i32));
247     assert_eq!(v.wzww(), ivec4(4_i32, 3_i32, 4_i32, 4_i32));
248     assert_eq!(v.wwxx(), ivec4(4_i32, 4_i32, 1_i32, 1_i32));
249     assert_eq!(v.wwxy(), ivec4(4_i32, 4_i32, 1_i32, 2_i32));
250     assert_eq!(v.wwxz(), ivec4(4_i32, 4_i32, 1_i32, 3_i32));
251     assert_eq!(v.wwxw(), ivec4(4_i32, 4_i32, 1_i32, 4_i32));
252     assert_eq!(v.wwyx(), ivec4(4_i32, 4_i32, 2_i32, 1_i32));
253     assert_eq!(v.wwyy(), ivec4(4_i32, 4_i32, 2_i32, 2_i32));
254     assert_eq!(v.wwyz(), ivec4(4_i32, 4_i32, 2_i32, 3_i32));
255     assert_eq!(v.wwyw(), ivec4(4_i32, 4_i32, 2_i32, 4_i32));
256     assert_eq!(v.wwzx(), ivec4(4_i32, 4_i32, 3_i32, 1_i32));
257     assert_eq!(v.wwzy(), ivec4(4_i32, 4_i32, 3_i32, 2_i32));
258     assert_eq!(v.wwzz(), ivec4(4_i32, 4_i32, 3_i32, 3_i32));
259     assert_eq!(v.wwzw(), ivec4(4_i32, 4_i32, 3_i32, 4_i32));
260     assert_eq!(v.wwwx(), ivec4(4_i32, 4_i32, 4_i32, 1_i32));
261     assert_eq!(v.wwwy(), ivec4(4_i32, 4_i32, 4_i32, 2_i32));
262     assert_eq!(v.wwwz(), ivec4(4_i32, 4_i32, 4_i32, 3_i32));
263     assert_eq!(v.wwww(), ivec4(4_i32, 4_i32, 4_i32, 4_i32));
264     assert_eq!(v.xxx(), ivec3(1_i32, 1_i32, 1_i32));
265     assert_eq!(v.xxy(), ivec3(1_i32, 1_i32, 2_i32));
266     assert_eq!(v.xxz(), ivec3(1_i32, 1_i32, 3_i32));
267     assert_eq!(v.xxw(), ivec3(1_i32, 1_i32, 4_i32));
268     assert_eq!(v.xyx(), ivec3(1_i32, 2_i32, 1_i32));
269     assert_eq!(v.xyy(), ivec3(1_i32, 2_i32, 2_i32));
270     assert_eq!(v.xyz(), ivec3(1_i32, 2_i32, 3_i32));
271     assert_eq!(v.xyw(), ivec3(1_i32, 2_i32, 4_i32));
272     assert_eq!(v.xzx(), ivec3(1_i32, 3_i32, 1_i32));
273     assert_eq!(v.xzy(), ivec3(1_i32, 3_i32, 2_i32));
274     assert_eq!(v.xzz(), ivec3(1_i32, 3_i32, 3_i32));
275     assert_eq!(v.xzw(), ivec3(1_i32, 3_i32, 4_i32));
276     assert_eq!(v.xwx(), ivec3(1_i32, 4_i32, 1_i32));
277     assert_eq!(v.xwy(), ivec3(1_i32, 4_i32, 2_i32));
278     assert_eq!(v.xwz(), ivec3(1_i32, 4_i32, 3_i32));
279     assert_eq!(v.xww(), ivec3(1_i32, 4_i32, 4_i32));
280     assert_eq!(v.yxx(), ivec3(2_i32, 1_i32, 1_i32));
281     assert_eq!(v.yxy(), ivec3(2_i32, 1_i32, 2_i32));
282     assert_eq!(v.yxz(), ivec3(2_i32, 1_i32, 3_i32));
283     assert_eq!(v.yxw(), ivec3(2_i32, 1_i32, 4_i32));
284     assert_eq!(v.yyx(), ivec3(2_i32, 2_i32, 1_i32));
285     assert_eq!(v.yyy(), ivec3(2_i32, 2_i32, 2_i32));
286     assert_eq!(v.yyz(), ivec3(2_i32, 2_i32, 3_i32));
287     assert_eq!(v.yyw(), ivec3(2_i32, 2_i32, 4_i32));
288     assert_eq!(v.yzx(), ivec3(2_i32, 3_i32, 1_i32));
289     assert_eq!(v.yzy(), ivec3(2_i32, 3_i32, 2_i32));
290     assert_eq!(v.yzz(), ivec3(2_i32, 3_i32, 3_i32));
291     assert_eq!(v.yzw(), ivec3(2_i32, 3_i32, 4_i32));
292     assert_eq!(v.ywx(), ivec3(2_i32, 4_i32, 1_i32));
293     assert_eq!(v.ywy(), ivec3(2_i32, 4_i32, 2_i32));
294     assert_eq!(v.ywz(), ivec3(2_i32, 4_i32, 3_i32));
295     assert_eq!(v.yww(), ivec3(2_i32, 4_i32, 4_i32));
296     assert_eq!(v.zxx(), ivec3(3_i32, 1_i32, 1_i32));
297     assert_eq!(v.zxy(), ivec3(3_i32, 1_i32, 2_i32));
298     assert_eq!(v.zxz(), ivec3(3_i32, 1_i32, 3_i32));
299     assert_eq!(v.zxw(), ivec3(3_i32, 1_i32, 4_i32));
300     assert_eq!(v.zyx(), ivec3(3_i32, 2_i32, 1_i32));
301     assert_eq!(v.zyy(), ivec3(3_i32, 2_i32, 2_i32));
302     assert_eq!(v.zyz(), ivec3(3_i32, 2_i32, 3_i32));
303     assert_eq!(v.zyw(), ivec3(3_i32, 2_i32, 4_i32));
304     assert_eq!(v.zzx(), ivec3(3_i32, 3_i32, 1_i32));
305     assert_eq!(v.zzy(), ivec3(3_i32, 3_i32, 2_i32));
306     assert_eq!(v.zzz(), ivec3(3_i32, 3_i32, 3_i32));
307     assert_eq!(v.zzw(), ivec3(3_i32, 3_i32, 4_i32));
308     assert_eq!(v.zwx(), ivec3(3_i32, 4_i32, 1_i32));
309     assert_eq!(v.zwy(), ivec3(3_i32, 4_i32, 2_i32));
310     assert_eq!(v.zwz(), ivec3(3_i32, 4_i32, 3_i32));
311     assert_eq!(v.zww(), ivec3(3_i32, 4_i32, 4_i32));
312     assert_eq!(v.wxx(), ivec3(4_i32, 1_i32, 1_i32));
313     assert_eq!(v.wxy(), ivec3(4_i32, 1_i32, 2_i32));
314     assert_eq!(v.wxz(), ivec3(4_i32, 1_i32, 3_i32));
315     assert_eq!(v.wxw(), ivec3(4_i32, 1_i32, 4_i32));
316     assert_eq!(v.wyx(), ivec3(4_i32, 2_i32, 1_i32));
317     assert_eq!(v.wyy(), ivec3(4_i32, 2_i32, 2_i32));
318     assert_eq!(v.wyz(), ivec3(4_i32, 2_i32, 3_i32));
319     assert_eq!(v.wyw(), ivec3(4_i32, 2_i32, 4_i32));
320     assert_eq!(v.wzx(), ivec3(4_i32, 3_i32, 1_i32));
321     assert_eq!(v.wzy(), ivec3(4_i32, 3_i32, 2_i32));
322     assert_eq!(v.wzz(), ivec3(4_i32, 3_i32, 3_i32));
323     assert_eq!(v.wzw(), ivec3(4_i32, 3_i32, 4_i32));
324     assert_eq!(v.wwx(), ivec3(4_i32, 4_i32, 1_i32));
325     assert_eq!(v.wwy(), ivec3(4_i32, 4_i32, 2_i32));
326     assert_eq!(v.wwz(), ivec3(4_i32, 4_i32, 3_i32));
327     assert_eq!(v.www(), ivec3(4_i32, 4_i32, 4_i32));
328     assert_eq!(v.xx(), ivec2(1_i32, 1_i32));
329     assert_eq!(v.xy(), ivec2(1_i32, 2_i32));
330     assert_eq!(v.xz(), ivec2(1_i32, 3_i32));
331     assert_eq!(v.xw(), ivec2(1_i32, 4_i32));
332     assert_eq!(v.yx(), ivec2(2_i32, 1_i32));
333     assert_eq!(v.yy(), ivec2(2_i32, 2_i32));
334     assert_eq!(v.yz(), ivec2(2_i32, 3_i32));
335     assert_eq!(v.yw(), ivec2(2_i32, 4_i32));
336     assert_eq!(v.zx(), ivec2(3_i32, 1_i32));
337     assert_eq!(v.zy(), ivec2(3_i32, 2_i32));
338     assert_eq!(v.zz(), ivec2(3_i32, 3_i32));
339     assert_eq!(v.zw(), ivec2(3_i32, 4_i32));
340     assert_eq!(v.wx(), ivec2(4_i32, 1_i32));
341     assert_eq!(v.wy(), ivec2(4_i32, 2_i32));
342     assert_eq!(v.wz(), ivec2(4_i32, 3_i32));
343     assert_eq!(v.ww(), ivec2(4_i32, 4_i32));
344 });
345 
346 glam_test!(test_ivec3_swizzles, {
347     let v = ivec3(1_i32, 2_i32, 3_i32);
348     assert_eq!(v, v.xyz());
349     assert_eq!(v.xxxx(), ivec4(1_i32, 1_i32, 1_i32, 1_i32));
350     assert_eq!(v.xxxy(), ivec4(1_i32, 1_i32, 1_i32, 2_i32));
351     assert_eq!(v.xxxz(), ivec4(1_i32, 1_i32, 1_i32, 3_i32));
352     assert_eq!(v.xxyx(), ivec4(1_i32, 1_i32, 2_i32, 1_i32));
353     assert_eq!(v.xxyy(), ivec4(1_i32, 1_i32, 2_i32, 2_i32));
354     assert_eq!(v.xxyz(), ivec4(1_i32, 1_i32, 2_i32, 3_i32));
355     assert_eq!(v.xxzx(), ivec4(1_i32, 1_i32, 3_i32, 1_i32));
356     assert_eq!(v.xxzy(), ivec4(1_i32, 1_i32, 3_i32, 2_i32));
357     assert_eq!(v.xxzz(), ivec4(1_i32, 1_i32, 3_i32, 3_i32));
358     assert_eq!(v.xyxx(), ivec4(1_i32, 2_i32, 1_i32, 1_i32));
359     assert_eq!(v.xyxy(), ivec4(1_i32, 2_i32, 1_i32, 2_i32));
360     assert_eq!(v.xyxz(), ivec4(1_i32, 2_i32, 1_i32, 3_i32));
361     assert_eq!(v.xyyx(), ivec4(1_i32, 2_i32, 2_i32, 1_i32));
362     assert_eq!(v.xyyy(), ivec4(1_i32, 2_i32, 2_i32, 2_i32));
363     assert_eq!(v.xyyz(), ivec4(1_i32, 2_i32, 2_i32, 3_i32));
364     assert_eq!(v.xyzx(), ivec4(1_i32, 2_i32, 3_i32, 1_i32));
365     assert_eq!(v.xyzy(), ivec4(1_i32, 2_i32, 3_i32, 2_i32));
366     assert_eq!(v.xyzz(), ivec4(1_i32, 2_i32, 3_i32, 3_i32));
367     assert_eq!(v.xzxx(), ivec4(1_i32, 3_i32, 1_i32, 1_i32));
368     assert_eq!(v.xzxy(), ivec4(1_i32, 3_i32, 1_i32, 2_i32));
369     assert_eq!(v.xzxz(), ivec4(1_i32, 3_i32, 1_i32, 3_i32));
370     assert_eq!(v.xzyx(), ivec4(1_i32, 3_i32, 2_i32, 1_i32));
371     assert_eq!(v.xzyy(), ivec4(1_i32, 3_i32, 2_i32, 2_i32));
372     assert_eq!(v.xzyz(), ivec4(1_i32, 3_i32, 2_i32, 3_i32));
373     assert_eq!(v.xzzx(), ivec4(1_i32, 3_i32, 3_i32, 1_i32));
374     assert_eq!(v.xzzy(), ivec4(1_i32, 3_i32, 3_i32, 2_i32));
375     assert_eq!(v.xzzz(), ivec4(1_i32, 3_i32, 3_i32, 3_i32));
376     assert_eq!(v.yxxx(), ivec4(2_i32, 1_i32, 1_i32, 1_i32));
377     assert_eq!(v.yxxy(), ivec4(2_i32, 1_i32, 1_i32, 2_i32));
378     assert_eq!(v.yxxz(), ivec4(2_i32, 1_i32, 1_i32, 3_i32));
379     assert_eq!(v.yxyx(), ivec4(2_i32, 1_i32, 2_i32, 1_i32));
380     assert_eq!(v.yxyy(), ivec4(2_i32, 1_i32, 2_i32, 2_i32));
381     assert_eq!(v.yxyz(), ivec4(2_i32, 1_i32, 2_i32, 3_i32));
382     assert_eq!(v.yxzx(), ivec4(2_i32, 1_i32, 3_i32, 1_i32));
383     assert_eq!(v.yxzy(), ivec4(2_i32, 1_i32, 3_i32, 2_i32));
384     assert_eq!(v.yxzz(), ivec4(2_i32, 1_i32, 3_i32, 3_i32));
385     assert_eq!(v.yyxx(), ivec4(2_i32, 2_i32, 1_i32, 1_i32));
386     assert_eq!(v.yyxy(), ivec4(2_i32, 2_i32, 1_i32, 2_i32));
387     assert_eq!(v.yyxz(), ivec4(2_i32, 2_i32, 1_i32, 3_i32));
388     assert_eq!(v.yyyx(), ivec4(2_i32, 2_i32, 2_i32, 1_i32));
389     assert_eq!(v.yyyy(), ivec4(2_i32, 2_i32, 2_i32, 2_i32));
390     assert_eq!(v.yyyz(), ivec4(2_i32, 2_i32, 2_i32, 3_i32));
391     assert_eq!(v.yyzx(), ivec4(2_i32, 2_i32, 3_i32, 1_i32));
392     assert_eq!(v.yyzy(), ivec4(2_i32, 2_i32, 3_i32, 2_i32));
393     assert_eq!(v.yyzz(), ivec4(2_i32, 2_i32, 3_i32, 3_i32));
394     assert_eq!(v.yzxx(), ivec4(2_i32, 3_i32, 1_i32, 1_i32));
395     assert_eq!(v.yzxy(), ivec4(2_i32, 3_i32, 1_i32, 2_i32));
396     assert_eq!(v.yzxz(), ivec4(2_i32, 3_i32, 1_i32, 3_i32));
397     assert_eq!(v.yzyx(), ivec4(2_i32, 3_i32, 2_i32, 1_i32));
398     assert_eq!(v.yzyy(), ivec4(2_i32, 3_i32, 2_i32, 2_i32));
399     assert_eq!(v.yzyz(), ivec4(2_i32, 3_i32, 2_i32, 3_i32));
400     assert_eq!(v.yzzx(), ivec4(2_i32, 3_i32, 3_i32, 1_i32));
401     assert_eq!(v.yzzy(), ivec4(2_i32, 3_i32, 3_i32, 2_i32));
402     assert_eq!(v.yzzz(), ivec4(2_i32, 3_i32, 3_i32, 3_i32));
403     assert_eq!(v.zxxx(), ivec4(3_i32, 1_i32, 1_i32, 1_i32));
404     assert_eq!(v.zxxy(), ivec4(3_i32, 1_i32, 1_i32, 2_i32));
405     assert_eq!(v.zxxz(), ivec4(3_i32, 1_i32, 1_i32, 3_i32));
406     assert_eq!(v.zxyx(), ivec4(3_i32, 1_i32, 2_i32, 1_i32));
407     assert_eq!(v.zxyy(), ivec4(3_i32, 1_i32, 2_i32, 2_i32));
408     assert_eq!(v.zxyz(), ivec4(3_i32, 1_i32, 2_i32, 3_i32));
409     assert_eq!(v.zxzx(), ivec4(3_i32, 1_i32, 3_i32, 1_i32));
410     assert_eq!(v.zxzy(), ivec4(3_i32, 1_i32, 3_i32, 2_i32));
411     assert_eq!(v.zxzz(), ivec4(3_i32, 1_i32, 3_i32, 3_i32));
412     assert_eq!(v.zyxx(), ivec4(3_i32, 2_i32, 1_i32, 1_i32));
413     assert_eq!(v.zyxy(), ivec4(3_i32, 2_i32, 1_i32, 2_i32));
414     assert_eq!(v.zyxz(), ivec4(3_i32, 2_i32, 1_i32, 3_i32));
415     assert_eq!(v.zyyx(), ivec4(3_i32, 2_i32, 2_i32, 1_i32));
416     assert_eq!(v.zyyy(), ivec4(3_i32, 2_i32, 2_i32, 2_i32));
417     assert_eq!(v.zyyz(), ivec4(3_i32, 2_i32, 2_i32, 3_i32));
418     assert_eq!(v.zyzx(), ivec4(3_i32, 2_i32, 3_i32, 1_i32));
419     assert_eq!(v.zyzy(), ivec4(3_i32, 2_i32, 3_i32, 2_i32));
420     assert_eq!(v.zyzz(), ivec4(3_i32, 2_i32, 3_i32, 3_i32));
421     assert_eq!(v.zzxx(), ivec4(3_i32, 3_i32, 1_i32, 1_i32));
422     assert_eq!(v.zzxy(), ivec4(3_i32, 3_i32, 1_i32, 2_i32));
423     assert_eq!(v.zzxz(), ivec4(3_i32, 3_i32, 1_i32, 3_i32));
424     assert_eq!(v.zzyx(), ivec4(3_i32, 3_i32, 2_i32, 1_i32));
425     assert_eq!(v.zzyy(), ivec4(3_i32, 3_i32, 2_i32, 2_i32));
426     assert_eq!(v.zzyz(), ivec4(3_i32, 3_i32, 2_i32, 3_i32));
427     assert_eq!(v.zzzx(), ivec4(3_i32, 3_i32, 3_i32, 1_i32));
428     assert_eq!(v.zzzy(), ivec4(3_i32, 3_i32, 3_i32, 2_i32));
429     assert_eq!(v.zzzz(), ivec4(3_i32, 3_i32, 3_i32, 3_i32));
430     assert_eq!(v.xxx(), ivec3(1_i32, 1_i32, 1_i32));
431     assert_eq!(v.xxy(), ivec3(1_i32, 1_i32, 2_i32));
432     assert_eq!(v.xxz(), ivec3(1_i32, 1_i32, 3_i32));
433     assert_eq!(v.xyx(), ivec3(1_i32, 2_i32, 1_i32));
434     assert_eq!(v.xyy(), ivec3(1_i32, 2_i32, 2_i32));
435     assert_eq!(v.xzx(), ivec3(1_i32, 3_i32, 1_i32));
436     assert_eq!(v.xzy(), ivec3(1_i32, 3_i32, 2_i32));
437     assert_eq!(v.xzz(), ivec3(1_i32, 3_i32, 3_i32));
438     assert_eq!(v.yxx(), ivec3(2_i32, 1_i32, 1_i32));
439     assert_eq!(v.yxy(), ivec3(2_i32, 1_i32, 2_i32));
440     assert_eq!(v.yxz(), ivec3(2_i32, 1_i32, 3_i32));
441     assert_eq!(v.yyx(), ivec3(2_i32, 2_i32, 1_i32));
442     assert_eq!(v.yyy(), ivec3(2_i32, 2_i32, 2_i32));
443     assert_eq!(v.yyz(), ivec3(2_i32, 2_i32, 3_i32));
444     assert_eq!(v.yzx(), ivec3(2_i32, 3_i32, 1_i32));
445     assert_eq!(v.yzy(), ivec3(2_i32, 3_i32, 2_i32));
446     assert_eq!(v.yzz(), ivec3(2_i32, 3_i32, 3_i32));
447     assert_eq!(v.zxx(), ivec3(3_i32, 1_i32, 1_i32));
448     assert_eq!(v.zxy(), ivec3(3_i32, 1_i32, 2_i32));
449     assert_eq!(v.zxz(), ivec3(3_i32, 1_i32, 3_i32));
450     assert_eq!(v.zyx(), ivec3(3_i32, 2_i32, 1_i32));
451     assert_eq!(v.zyy(), ivec3(3_i32, 2_i32, 2_i32));
452     assert_eq!(v.zyz(), ivec3(3_i32, 2_i32, 3_i32));
453     assert_eq!(v.zzx(), ivec3(3_i32, 3_i32, 1_i32));
454     assert_eq!(v.zzy(), ivec3(3_i32, 3_i32, 2_i32));
455     assert_eq!(v.zzz(), ivec3(3_i32, 3_i32, 3_i32));
456     assert_eq!(v.xx(), ivec2(1_i32, 1_i32));
457     assert_eq!(v.xy(), ivec2(1_i32, 2_i32));
458     assert_eq!(v.xz(), ivec2(1_i32, 3_i32));
459     assert_eq!(v.yx(), ivec2(2_i32, 1_i32));
460     assert_eq!(v.yy(), ivec2(2_i32, 2_i32));
461     assert_eq!(v.yz(), ivec2(2_i32, 3_i32));
462     assert_eq!(v.zx(), ivec2(3_i32, 1_i32));
463     assert_eq!(v.zy(), ivec2(3_i32, 2_i32));
464     assert_eq!(v.zz(), ivec2(3_i32, 3_i32));
465 });
466 
467 glam_test!(test_ivec2_swizzles, {
468     let v = ivec2(1_i32, 2_i32);
469     assert_eq!(v, v.xy());
470     assert_eq!(v.xxxx(), ivec4(1_i32, 1_i32, 1_i32, 1_i32));
471     assert_eq!(v.xxxy(), ivec4(1_i32, 1_i32, 1_i32, 2_i32));
472     assert_eq!(v.xxyx(), ivec4(1_i32, 1_i32, 2_i32, 1_i32));
473     assert_eq!(v.xxyy(), ivec4(1_i32, 1_i32, 2_i32, 2_i32));
474     assert_eq!(v.xyxx(), ivec4(1_i32, 2_i32, 1_i32, 1_i32));
475     assert_eq!(v.xyxy(), ivec4(1_i32, 2_i32, 1_i32, 2_i32));
476     assert_eq!(v.xyyx(), ivec4(1_i32, 2_i32, 2_i32, 1_i32));
477     assert_eq!(v.xyyy(), ivec4(1_i32, 2_i32, 2_i32, 2_i32));
478     assert_eq!(v.yxxx(), ivec4(2_i32, 1_i32, 1_i32, 1_i32));
479     assert_eq!(v.yxxy(), ivec4(2_i32, 1_i32, 1_i32, 2_i32));
480     assert_eq!(v.yxyx(), ivec4(2_i32, 1_i32, 2_i32, 1_i32));
481     assert_eq!(v.yxyy(), ivec4(2_i32, 1_i32, 2_i32, 2_i32));
482     assert_eq!(v.yyxx(), ivec4(2_i32, 2_i32, 1_i32, 1_i32));
483     assert_eq!(v.yyxy(), ivec4(2_i32, 2_i32, 1_i32, 2_i32));
484     assert_eq!(v.yyyx(), ivec4(2_i32, 2_i32, 2_i32, 1_i32));
485     assert_eq!(v.yyyy(), ivec4(2_i32, 2_i32, 2_i32, 2_i32));
486     assert_eq!(v.xxx(), ivec3(1_i32, 1_i32, 1_i32));
487     assert_eq!(v.xxy(), ivec3(1_i32, 1_i32, 2_i32));
488     assert_eq!(v.xyx(), ivec3(1_i32, 2_i32, 1_i32));
489     assert_eq!(v.xyy(), ivec3(1_i32, 2_i32, 2_i32));
490     assert_eq!(v.yxx(), ivec3(2_i32, 1_i32, 1_i32));
491     assert_eq!(v.yxy(), ivec3(2_i32, 1_i32, 2_i32));
492     assert_eq!(v.yyx(), ivec3(2_i32, 2_i32, 1_i32));
493     assert_eq!(v.yyy(), ivec3(2_i32, 2_i32, 2_i32));
494     assert_eq!(v.xx(), ivec2(1_i32, 1_i32));
495     assert_eq!(v.yx(), ivec2(2_i32, 1_i32));
496     assert_eq!(v.yy(), ivec2(2_i32, 2_i32));
497 });
498