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