glam/swizzles/
dvec4_impl.rs

1// Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file.
2
3use crate::{DVec2, DVec3, DVec4, Vec4Swizzles};
4
5impl Vec4Swizzles for DVec4 {
6    type Vec2 = DVec2;
7
8    type Vec3 = DVec3;
9
10    #[inline]
11    #[must_use]
12    fn xx(self) -> DVec2 {
13        DVec2 {
14            x: self.x,
15            y: self.x,
16        }
17    }
18
19    #[inline]
20    #[must_use]
21    fn xy(self) -> DVec2 {
22        DVec2 {
23            x: self.x,
24            y: self.y,
25        }
26    }
27
28    #[inline]
29    #[must_use]
30    fn with_xy(self, rhs: DVec2) -> Self {
31        Self::new(rhs.x, rhs.y, self.z, self.w)
32    }
33
34    #[inline]
35    #[must_use]
36    fn xz(self) -> DVec2 {
37        DVec2 {
38            x: self.x,
39            y: self.z,
40        }
41    }
42
43    #[inline]
44    #[must_use]
45    fn with_xz(self, rhs: DVec2) -> Self {
46        Self::new(rhs.x, self.y, rhs.y, self.w)
47    }
48
49    #[inline]
50    #[must_use]
51    fn xw(self) -> DVec2 {
52        DVec2 {
53            x: self.x,
54            y: self.w,
55        }
56    }
57
58    #[inline]
59    #[must_use]
60    fn with_xw(self, rhs: DVec2) -> Self {
61        Self::new(rhs.x, self.y, self.z, rhs.y)
62    }
63
64    #[inline]
65    #[must_use]
66    fn yx(self) -> DVec2 {
67        DVec2 {
68            x: self.y,
69            y: self.x,
70        }
71    }
72
73    #[inline]
74    #[must_use]
75    fn with_yx(self, rhs: DVec2) -> Self {
76        Self::new(rhs.y, rhs.x, self.z, self.w)
77    }
78
79    #[inline]
80    #[must_use]
81    fn yy(self) -> DVec2 {
82        DVec2 {
83            x: self.y,
84            y: self.y,
85        }
86    }
87
88    #[inline]
89    #[must_use]
90    fn yz(self) -> DVec2 {
91        DVec2 {
92            x: self.y,
93            y: self.z,
94        }
95    }
96
97    #[inline]
98    #[must_use]
99    fn with_yz(self, rhs: DVec2) -> Self {
100        Self::new(self.x, rhs.x, rhs.y, self.w)
101    }
102
103    #[inline]
104    #[must_use]
105    fn yw(self) -> DVec2 {
106        DVec2 {
107            x: self.y,
108            y: self.w,
109        }
110    }
111
112    #[inline]
113    #[must_use]
114    fn with_yw(self, rhs: DVec2) -> Self {
115        Self::new(self.x, rhs.x, self.z, rhs.y)
116    }
117
118    #[inline]
119    #[must_use]
120    fn zx(self) -> DVec2 {
121        DVec2 {
122            x: self.z,
123            y: self.x,
124        }
125    }
126
127    #[inline]
128    #[must_use]
129    fn with_zx(self, rhs: DVec2) -> Self {
130        Self::new(rhs.y, self.y, rhs.x, self.w)
131    }
132
133    #[inline]
134    #[must_use]
135    fn zy(self) -> DVec2 {
136        DVec2 {
137            x: self.z,
138            y: self.y,
139        }
140    }
141
142    #[inline]
143    #[must_use]
144    fn with_zy(self, rhs: DVec2) -> Self {
145        Self::new(self.x, rhs.y, rhs.x, self.w)
146    }
147
148    #[inline]
149    #[must_use]
150    fn zz(self) -> DVec2 {
151        DVec2 {
152            x: self.z,
153            y: self.z,
154        }
155    }
156
157    #[inline]
158    #[must_use]
159    fn zw(self) -> DVec2 {
160        DVec2 {
161            x: self.z,
162            y: self.w,
163        }
164    }
165
166    #[inline]
167    #[must_use]
168    fn with_zw(self, rhs: DVec2) -> Self {
169        Self::new(self.x, self.y, rhs.x, rhs.y)
170    }
171
172    #[inline]
173    #[must_use]
174    fn wx(self) -> DVec2 {
175        DVec2 {
176            x: self.w,
177            y: self.x,
178        }
179    }
180
181    #[inline]
182    #[must_use]
183    fn with_wx(self, rhs: DVec2) -> Self {
184        Self::new(rhs.y, self.y, self.z, rhs.x)
185    }
186
187    #[inline]
188    #[must_use]
189    fn wy(self) -> DVec2 {
190        DVec2 {
191            x: self.w,
192            y: self.y,
193        }
194    }
195
196    #[inline]
197    #[must_use]
198    fn with_wy(self, rhs: DVec2) -> Self {
199        Self::new(self.x, rhs.y, self.z, rhs.x)
200    }
201
202    #[inline]
203    #[must_use]
204    fn wz(self) -> DVec2 {
205        DVec2 {
206            x: self.w,
207            y: self.z,
208        }
209    }
210
211    #[inline]
212    #[must_use]
213    fn with_wz(self, rhs: DVec2) -> Self {
214        Self::new(self.x, self.y, rhs.y, rhs.x)
215    }
216
217    #[inline]
218    #[must_use]
219    fn ww(self) -> DVec2 {
220        DVec2 {
221            x: self.w,
222            y: self.w,
223        }
224    }
225
226    #[inline]
227    #[must_use]
228    fn xxx(self) -> DVec3 {
229        DVec3::new(self.x, self.x, self.x)
230    }
231
232    #[inline]
233    #[must_use]
234    fn xxy(self) -> DVec3 {
235        DVec3::new(self.x, self.x, self.y)
236    }
237
238    #[inline]
239    #[must_use]
240    fn xxz(self) -> DVec3 {
241        DVec3::new(self.x, self.x, self.z)
242    }
243
244    #[inline]
245    #[must_use]
246    fn xxw(self) -> DVec3 {
247        DVec3::new(self.x, self.x, self.w)
248    }
249
250    #[inline]
251    #[must_use]
252    fn xyx(self) -> DVec3 {
253        DVec3::new(self.x, self.y, self.x)
254    }
255
256    #[inline]
257    #[must_use]
258    fn xyy(self) -> DVec3 {
259        DVec3::new(self.x, self.y, self.y)
260    }
261
262    #[inline]
263    #[must_use]
264    fn xyz(self) -> DVec3 {
265        DVec3::new(self.x, self.y, self.z)
266    }
267
268    #[inline]
269    #[must_use]
270    fn with_xyz(self, rhs: DVec3) -> Self {
271        Self::new(rhs.x, rhs.y, rhs.z, self.w)
272    }
273
274    #[inline]
275    #[must_use]
276    fn xyw(self) -> DVec3 {
277        DVec3::new(self.x, self.y, self.w)
278    }
279
280    #[inline]
281    #[must_use]
282    fn with_xyw(self, rhs: DVec3) -> Self {
283        Self::new(rhs.x, rhs.y, self.z, rhs.z)
284    }
285
286    #[inline]
287    #[must_use]
288    fn xzx(self) -> DVec3 {
289        DVec3::new(self.x, self.z, self.x)
290    }
291
292    #[inline]
293    #[must_use]
294    fn xzy(self) -> DVec3 {
295        DVec3::new(self.x, self.z, self.y)
296    }
297
298    #[inline]
299    #[must_use]
300    fn with_xzy(self, rhs: DVec3) -> Self {
301        Self::new(rhs.x, rhs.z, rhs.y, self.w)
302    }
303
304    #[inline]
305    #[must_use]
306    fn xzz(self) -> DVec3 {
307        DVec3::new(self.x, self.z, self.z)
308    }
309
310    #[inline]
311    #[must_use]
312    fn xzw(self) -> DVec3 {
313        DVec3::new(self.x, self.z, self.w)
314    }
315
316    #[inline]
317    #[must_use]
318    fn with_xzw(self, rhs: DVec3) -> Self {
319        Self::new(rhs.x, self.y, rhs.y, rhs.z)
320    }
321
322    #[inline]
323    #[must_use]
324    fn xwx(self) -> DVec3 {
325        DVec3::new(self.x, self.w, self.x)
326    }
327
328    #[inline]
329    #[must_use]
330    fn xwy(self) -> DVec3 {
331        DVec3::new(self.x, self.w, self.y)
332    }
333
334    #[inline]
335    #[must_use]
336    fn with_xwy(self, rhs: DVec3) -> Self {
337        Self::new(rhs.x, rhs.z, self.z, rhs.y)
338    }
339
340    #[inline]
341    #[must_use]
342    fn xwz(self) -> DVec3 {
343        DVec3::new(self.x, self.w, self.z)
344    }
345
346    #[inline]
347    #[must_use]
348    fn with_xwz(self, rhs: DVec3) -> Self {
349        Self::new(rhs.x, self.y, rhs.z, rhs.y)
350    }
351
352    #[inline]
353    #[must_use]
354    fn xww(self) -> DVec3 {
355        DVec3::new(self.x, self.w, self.w)
356    }
357
358    #[inline]
359    #[must_use]
360    fn yxx(self) -> DVec3 {
361        DVec3::new(self.y, self.x, self.x)
362    }
363
364    #[inline]
365    #[must_use]
366    fn yxy(self) -> DVec3 {
367        DVec3::new(self.y, self.x, self.y)
368    }
369
370    #[inline]
371    #[must_use]
372    fn yxz(self) -> DVec3 {
373        DVec3::new(self.y, self.x, self.z)
374    }
375
376    #[inline]
377    #[must_use]
378    fn with_yxz(self, rhs: DVec3) -> Self {
379        Self::new(rhs.y, rhs.x, rhs.z, self.w)
380    }
381
382    #[inline]
383    #[must_use]
384    fn yxw(self) -> DVec3 {
385        DVec3::new(self.y, self.x, self.w)
386    }
387
388    #[inline]
389    #[must_use]
390    fn with_yxw(self, rhs: DVec3) -> Self {
391        Self::new(rhs.y, rhs.x, self.z, rhs.z)
392    }
393
394    #[inline]
395    #[must_use]
396    fn yyx(self) -> DVec3 {
397        DVec3::new(self.y, self.y, self.x)
398    }
399
400    #[inline]
401    #[must_use]
402    fn yyy(self) -> DVec3 {
403        DVec3::new(self.y, self.y, self.y)
404    }
405
406    #[inline]
407    #[must_use]
408    fn yyz(self) -> DVec3 {
409        DVec3::new(self.y, self.y, self.z)
410    }
411
412    #[inline]
413    #[must_use]
414    fn yyw(self) -> DVec3 {
415        DVec3::new(self.y, self.y, self.w)
416    }
417
418    #[inline]
419    #[must_use]
420    fn yzx(self) -> DVec3 {
421        DVec3::new(self.y, self.z, self.x)
422    }
423
424    #[inline]
425    #[must_use]
426    fn with_yzx(self, rhs: DVec3) -> Self {
427        Self::new(rhs.z, rhs.x, rhs.y, self.w)
428    }
429
430    #[inline]
431    #[must_use]
432    fn yzy(self) -> DVec3 {
433        DVec3::new(self.y, self.z, self.y)
434    }
435
436    #[inline]
437    #[must_use]
438    fn yzz(self) -> DVec3 {
439        DVec3::new(self.y, self.z, self.z)
440    }
441
442    #[inline]
443    #[must_use]
444    fn yzw(self) -> DVec3 {
445        DVec3::new(self.y, self.z, self.w)
446    }
447
448    #[inline]
449    #[must_use]
450    fn with_yzw(self, rhs: DVec3) -> Self {
451        Self::new(self.x, rhs.x, rhs.y, rhs.z)
452    }
453
454    #[inline]
455    #[must_use]
456    fn ywx(self) -> DVec3 {
457        DVec3::new(self.y, self.w, self.x)
458    }
459
460    #[inline]
461    #[must_use]
462    fn with_ywx(self, rhs: DVec3) -> Self {
463        Self::new(rhs.z, rhs.x, self.z, rhs.y)
464    }
465
466    #[inline]
467    #[must_use]
468    fn ywy(self) -> DVec3 {
469        DVec3::new(self.y, self.w, self.y)
470    }
471
472    #[inline]
473    #[must_use]
474    fn ywz(self) -> DVec3 {
475        DVec3::new(self.y, self.w, self.z)
476    }
477
478    #[inline]
479    #[must_use]
480    fn with_ywz(self, rhs: DVec3) -> Self {
481        Self::new(self.x, rhs.x, rhs.z, rhs.y)
482    }
483
484    #[inline]
485    #[must_use]
486    fn yww(self) -> DVec3 {
487        DVec3::new(self.y, self.w, self.w)
488    }
489
490    #[inline]
491    #[must_use]
492    fn zxx(self) -> DVec3 {
493        DVec3::new(self.z, self.x, self.x)
494    }
495
496    #[inline]
497    #[must_use]
498    fn zxy(self) -> DVec3 {
499        DVec3::new(self.z, self.x, self.y)
500    }
501
502    #[inline]
503    #[must_use]
504    fn with_zxy(self, rhs: DVec3) -> Self {
505        Self::new(rhs.y, rhs.z, rhs.x, self.w)
506    }
507
508    #[inline]
509    #[must_use]
510    fn zxz(self) -> DVec3 {
511        DVec3::new(self.z, self.x, self.z)
512    }
513
514    #[inline]
515    #[must_use]
516    fn zxw(self) -> DVec3 {
517        DVec3::new(self.z, self.x, self.w)
518    }
519
520    #[inline]
521    #[must_use]
522    fn with_zxw(self, rhs: DVec3) -> Self {
523        Self::new(rhs.y, self.y, rhs.x, rhs.z)
524    }
525
526    #[inline]
527    #[must_use]
528    fn zyx(self) -> DVec3 {
529        DVec3::new(self.z, self.y, self.x)
530    }
531
532    #[inline]
533    #[must_use]
534    fn with_zyx(self, rhs: DVec3) -> Self {
535        Self::new(rhs.z, rhs.y, rhs.x, self.w)
536    }
537
538    #[inline]
539    #[must_use]
540    fn zyy(self) -> DVec3 {
541        DVec3::new(self.z, self.y, self.y)
542    }
543
544    #[inline]
545    #[must_use]
546    fn zyz(self) -> DVec3 {
547        DVec3::new(self.z, self.y, self.z)
548    }
549
550    #[inline]
551    #[must_use]
552    fn zyw(self) -> DVec3 {
553        DVec3::new(self.z, self.y, self.w)
554    }
555
556    #[inline]
557    #[must_use]
558    fn with_zyw(self, rhs: DVec3) -> Self {
559        Self::new(self.x, rhs.y, rhs.x, rhs.z)
560    }
561
562    #[inline]
563    #[must_use]
564    fn zzx(self) -> DVec3 {
565        DVec3::new(self.z, self.z, self.x)
566    }
567
568    #[inline]
569    #[must_use]
570    fn zzy(self) -> DVec3 {
571        DVec3::new(self.z, self.z, self.y)
572    }
573
574    #[inline]
575    #[must_use]
576    fn zzz(self) -> DVec3 {
577        DVec3::new(self.z, self.z, self.z)
578    }
579
580    #[inline]
581    #[must_use]
582    fn zzw(self) -> DVec3 {
583        DVec3::new(self.z, self.z, self.w)
584    }
585
586    #[inline]
587    #[must_use]
588    fn zwx(self) -> DVec3 {
589        DVec3::new(self.z, self.w, self.x)
590    }
591
592    #[inline]
593    #[must_use]
594    fn with_zwx(self, rhs: DVec3) -> Self {
595        Self::new(rhs.z, self.y, rhs.x, rhs.y)
596    }
597
598    #[inline]
599    #[must_use]
600    fn zwy(self) -> DVec3 {
601        DVec3::new(self.z, self.w, self.y)
602    }
603
604    #[inline]
605    #[must_use]
606    fn with_zwy(self, rhs: DVec3) -> Self {
607        Self::new(self.x, rhs.z, rhs.x, rhs.y)
608    }
609
610    #[inline]
611    #[must_use]
612    fn zwz(self) -> DVec3 {
613        DVec3::new(self.z, self.w, self.z)
614    }
615
616    #[inline]
617    #[must_use]
618    fn zww(self) -> DVec3 {
619        DVec3::new(self.z, self.w, self.w)
620    }
621
622    #[inline]
623    #[must_use]
624    fn wxx(self) -> DVec3 {
625        DVec3::new(self.w, self.x, self.x)
626    }
627
628    #[inline]
629    #[must_use]
630    fn wxy(self) -> DVec3 {
631        DVec3::new(self.w, self.x, self.y)
632    }
633
634    #[inline]
635    #[must_use]
636    fn with_wxy(self, rhs: DVec3) -> Self {
637        Self::new(rhs.y, rhs.z, self.z, rhs.x)
638    }
639
640    #[inline]
641    #[must_use]
642    fn wxz(self) -> DVec3 {
643        DVec3::new(self.w, self.x, self.z)
644    }
645
646    #[inline]
647    #[must_use]
648    fn with_wxz(self, rhs: DVec3) -> Self {
649        Self::new(rhs.y, self.y, rhs.z, rhs.x)
650    }
651
652    #[inline]
653    #[must_use]
654    fn wxw(self) -> DVec3 {
655        DVec3::new(self.w, self.x, self.w)
656    }
657
658    #[inline]
659    #[must_use]
660    fn wyx(self) -> DVec3 {
661        DVec3::new(self.w, self.y, self.x)
662    }
663
664    #[inline]
665    #[must_use]
666    fn with_wyx(self, rhs: DVec3) -> Self {
667        Self::new(rhs.z, rhs.y, self.z, rhs.x)
668    }
669
670    #[inline]
671    #[must_use]
672    fn wyy(self) -> DVec3 {
673        DVec3::new(self.w, self.y, self.y)
674    }
675
676    #[inline]
677    #[must_use]
678    fn wyz(self) -> DVec3 {
679        DVec3::new(self.w, self.y, self.z)
680    }
681
682    #[inline]
683    #[must_use]
684    fn with_wyz(self, rhs: DVec3) -> Self {
685        Self::new(self.x, rhs.y, rhs.z, rhs.x)
686    }
687
688    #[inline]
689    #[must_use]
690    fn wyw(self) -> DVec3 {
691        DVec3::new(self.w, self.y, self.w)
692    }
693
694    #[inline]
695    #[must_use]
696    fn wzx(self) -> DVec3 {
697        DVec3::new(self.w, self.z, self.x)
698    }
699
700    #[inline]
701    #[must_use]
702    fn with_wzx(self, rhs: DVec3) -> Self {
703        Self::new(rhs.z, self.y, rhs.y, rhs.x)
704    }
705
706    #[inline]
707    #[must_use]
708    fn wzy(self) -> DVec3 {
709        DVec3::new(self.w, self.z, self.y)
710    }
711
712    #[inline]
713    #[must_use]
714    fn with_wzy(self, rhs: DVec3) -> Self {
715        Self::new(self.x, rhs.z, rhs.y, rhs.x)
716    }
717
718    #[inline]
719    #[must_use]
720    fn wzz(self) -> DVec3 {
721        DVec3::new(self.w, self.z, self.z)
722    }
723
724    #[inline]
725    #[must_use]
726    fn wzw(self) -> DVec3 {
727        DVec3::new(self.w, self.z, self.w)
728    }
729
730    #[inline]
731    #[must_use]
732    fn wwx(self) -> DVec3 {
733        DVec3::new(self.w, self.w, self.x)
734    }
735
736    #[inline]
737    #[must_use]
738    fn wwy(self) -> DVec3 {
739        DVec3::new(self.w, self.w, self.y)
740    }
741
742    #[inline]
743    #[must_use]
744    fn wwz(self) -> DVec3 {
745        DVec3::new(self.w, self.w, self.z)
746    }
747
748    #[inline]
749    #[must_use]
750    fn www(self) -> DVec3 {
751        DVec3::new(self.w, self.w, self.w)
752    }
753
754    #[inline]
755    #[must_use]
756    fn xxxx(self) -> DVec4 {
757        DVec4::new(self.x, self.x, self.x, self.x)
758    }
759
760    #[inline]
761    #[must_use]
762    fn xxxy(self) -> DVec4 {
763        DVec4::new(self.x, self.x, self.x, self.y)
764    }
765
766    #[inline]
767    #[must_use]
768    fn xxxz(self) -> DVec4 {
769        DVec4::new(self.x, self.x, self.x, self.z)
770    }
771
772    #[inline]
773    #[must_use]
774    fn xxxw(self) -> DVec4 {
775        DVec4::new(self.x, self.x, self.x, self.w)
776    }
777
778    #[inline]
779    #[must_use]
780    fn xxyx(self) -> DVec4 {
781        DVec4::new(self.x, self.x, self.y, self.x)
782    }
783
784    #[inline]
785    #[must_use]
786    fn xxyy(self) -> DVec4 {
787        DVec4::new(self.x, self.x, self.y, self.y)
788    }
789
790    #[inline]
791    #[must_use]
792    fn xxyz(self) -> DVec4 {
793        DVec4::new(self.x, self.x, self.y, self.z)
794    }
795
796    #[inline]
797    #[must_use]
798    fn xxyw(self) -> DVec4 {
799        DVec4::new(self.x, self.x, self.y, self.w)
800    }
801
802    #[inline]
803    #[must_use]
804    fn xxzx(self) -> DVec4 {
805        DVec4::new(self.x, self.x, self.z, self.x)
806    }
807
808    #[inline]
809    #[must_use]
810    fn xxzy(self) -> DVec4 {
811        DVec4::new(self.x, self.x, self.z, self.y)
812    }
813
814    #[inline]
815    #[must_use]
816    fn xxzz(self) -> DVec4 {
817        DVec4::new(self.x, self.x, self.z, self.z)
818    }
819
820    #[inline]
821    #[must_use]
822    fn xxzw(self) -> DVec4 {
823        DVec4::new(self.x, self.x, self.z, self.w)
824    }
825
826    #[inline]
827    #[must_use]
828    fn xxwx(self) -> DVec4 {
829        DVec4::new(self.x, self.x, self.w, self.x)
830    }
831
832    #[inline]
833    #[must_use]
834    fn xxwy(self) -> DVec4 {
835        DVec4::new(self.x, self.x, self.w, self.y)
836    }
837
838    #[inline]
839    #[must_use]
840    fn xxwz(self) -> DVec4 {
841        DVec4::new(self.x, self.x, self.w, self.z)
842    }
843
844    #[inline]
845    #[must_use]
846    fn xxww(self) -> DVec4 {
847        DVec4::new(self.x, self.x, self.w, self.w)
848    }
849
850    #[inline]
851    #[must_use]
852    fn xyxx(self) -> DVec4 {
853        DVec4::new(self.x, self.y, self.x, self.x)
854    }
855
856    #[inline]
857    #[must_use]
858    fn xyxy(self) -> DVec4 {
859        DVec4::new(self.x, self.y, self.x, self.y)
860    }
861
862    #[inline]
863    #[must_use]
864    fn xyxz(self) -> DVec4 {
865        DVec4::new(self.x, self.y, self.x, self.z)
866    }
867
868    #[inline]
869    #[must_use]
870    fn xyxw(self) -> DVec4 {
871        DVec4::new(self.x, self.y, self.x, self.w)
872    }
873
874    #[inline]
875    #[must_use]
876    fn xyyx(self) -> DVec4 {
877        DVec4::new(self.x, self.y, self.y, self.x)
878    }
879
880    #[inline]
881    #[must_use]
882    fn xyyy(self) -> DVec4 {
883        DVec4::new(self.x, self.y, self.y, self.y)
884    }
885
886    #[inline]
887    #[must_use]
888    fn xyyz(self) -> DVec4 {
889        DVec4::new(self.x, self.y, self.y, self.z)
890    }
891
892    #[inline]
893    #[must_use]
894    fn xyyw(self) -> DVec4 {
895        DVec4::new(self.x, self.y, self.y, self.w)
896    }
897
898    #[inline]
899    #[must_use]
900    fn xyzx(self) -> DVec4 {
901        DVec4::new(self.x, self.y, self.z, self.x)
902    }
903
904    #[inline]
905    #[must_use]
906    fn xyzy(self) -> DVec4 {
907        DVec4::new(self.x, self.y, self.z, self.y)
908    }
909
910    #[inline]
911    #[must_use]
912    fn xyzz(self) -> DVec4 {
913        DVec4::new(self.x, self.y, self.z, self.z)
914    }
915
916    #[inline]
917    #[must_use]
918    fn xywx(self) -> DVec4 {
919        DVec4::new(self.x, self.y, self.w, self.x)
920    }
921
922    #[inline]
923    #[must_use]
924    fn xywy(self) -> DVec4 {
925        DVec4::new(self.x, self.y, self.w, self.y)
926    }
927
928    #[inline]
929    #[must_use]
930    fn xywz(self) -> DVec4 {
931        DVec4::new(self.x, self.y, self.w, self.z)
932    }
933
934    #[inline]
935    #[must_use]
936    fn xyww(self) -> DVec4 {
937        DVec4::new(self.x, self.y, self.w, self.w)
938    }
939
940    #[inline]
941    #[must_use]
942    fn xzxx(self) -> DVec4 {
943        DVec4::new(self.x, self.z, self.x, self.x)
944    }
945
946    #[inline]
947    #[must_use]
948    fn xzxy(self) -> DVec4 {
949        DVec4::new(self.x, self.z, self.x, self.y)
950    }
951
952    #[inline]
953    #[must_use]
954    fn xzxz(self) -> DVec4 {
955        DVec4::new(self.x, self.z, self.x, self.z)
956    }
957
958    #[inline]
959    #[must_use]
960    fn xzxw(self) -> DVec4 {
961        DVec4::new(self.x, self.z, self.x, self.w)
962    }
963
964    #[inline]
965    #[must_use]
966    fn xzyx(self) -> DVec4 {
967        DVec4::new(self.x, self.z, self.y, self.x)
968    }
969
970    #[inline]
971    #[must_use]
972    fn xzyy(self) -> DVec4 {
973        DVec4::new(self.x, self.z, self.y, self.y)
974    }
975
976    #[inline]
977    #[must_use]
978    fn xzyz(self) -> DVec4 {
979        DVec4::new(self.x, self.z, self.y, self.z)
980    }
981
982    #[inline]
983    #[must_use]
984    fn xzyw(self) -> DVec4 {
985        DVec4::new(self.x, self.z, self.y, self.w)
986    }
987
988    #[inline]
989    #[must_use]
990    fn xzzx(self) -> DVec4 {
991        DVec4::new(self.x, self.z, self.z, self.x)
992    }
993
994    #[inline]
995    #[must_use]
996    fn xzzy(self) -> DVec4 {
997        DVec4::new(self.x, self.z, self.z, self.y)
998    }
999
1000    #[inline]
1001    #[must_use]
1002    fn xzzz(self) -> DVec4 {
1003        DVec4::new(self.x, self.z, self.z, self.z)
1004    }
1005
1006    #[inline]
1007    #[must_use]
1008    fn xzzw(self) -> DVec4 {
1009        DVec4::new(self.x, self.z, self.z, self.w)
1010    }
1011
1012    #[inline]
1013    #[must_use]
1014    fn xzwx(self) -> DVec4 {
1015        DVec4::new(self.x, self.z, self.w, self.x)
1016    }
1017
1018    #[inline]
1019    #[must_use]
1020    fn xzwy(self) -> DVec4 {
1021        DVec4::new(self.x, self.z, self.w, self.y)
1022    }
1023
1024    #[inline]
1025    #[must_use]
1026    fn xzwz(self) -> DVec4 {
1027        DVec4::new(self.x, self.z, self.w, self.z)
1028    }
1029
1030    #[inline]
1031    #[must_use]
1032    fn xzww(self) -> DVec4 {
1033        DVec4::new(self.x, self.z, self.w, self.w)
1034    }
1035
1036    #[inline]
1037    #[must_use]
1038    fn xwxx(self) -> DVec4 {
1039        DVec4::new(self.x, self.w, self.x, self.x)
1040    }
1041
1042    #[inline]
1043    #[must_use]
1044    fn xwxy(self) -> DVec4 {
1045        DVec4::new(self.x, self.w, self.x, self.y)
1046    }
1047
1048    #[inline]
1049    #[must_use]
1050    fn xwxz(self) -> DVec4 {
1051        DVec4::new(self.x, self.w, self.x, self.z)
1052    }
1053
1054    #[inline]
1055    #[must_use]
1056    fn xwxw(self) -> DVec4 {
1057        DVec4::new(self.x, self.w, self.x, self.w)
1058    }
1059
1060    #[inline]
1061    #[must_use]
1062    fn xwyx(self) -> DVec4 {
1063        DVec4::new(self.x, self.w, self.y, self.x)
1064    }
1065
1066    #[inline]
1067    #[must_use]
1068    fn xwyy(self) -> DVec4 {
1069        DVec4::new(self.x, self.w, self.y, self.y)
1070    }
1071
1072    #[inline]
1073    #[must_use]
1074    fn xwyz(self) -> DVec4 {
1075        DVec4::new(self.x, self.w, self.y, self.z)
1076    }
1077
1078    #[inline]
1079    #[must_use]
1080    fn xwyw(self) -> DVec4 {
1081        DVec4::new(self.x, self.w, self.y, self.w)
1082    }
1083
1084    #[inline]
1085    #[must_use]
1086    fn xwzx(self) -> DVec4 {
1087        DVec4::new(self.x, self.w, self.z, self.x)
1088    }
1089
1090    #[inline]
1091    #[must_use]
1092    fn xwzy(self) -> DVec4 {
1093        DVec4::new(self.x, self.w, self.z, self.y)
1094    }
1095
1096    #[inline]
1097    #[must_use]
1098    fn xwzz(self) -> DVec4 {
1099        DVec4::new(self.x, self.w, self.z, self.z)
1100    }
1101
1102    #[inline]
1103    #[must_use]
1104    fn xwzw(self) -> DVec4 {
1105        DVec4::new(self.x, self.w, self.z, self.w)
1106    }
1107
1108    #[inline]
1109    #[must_use]
1110    fn xwwx(self) -> DVec4 {
1111        DVec4::new(self.x, self.w, self.w, self.x)
1112    }
1113
1114    #[inline]
1115    #[must_use]
1116    fn xwwy(self) -> DVec4 {
1117        DVec4::new(self.x, self.w, self.w, self.y)
1118    }
1119
1120    #[inline]
1121    #[must_use]
1122    fn xwwz(self) -> DVec4 {
1123        DVec4::new(self.x, self.w, self.w, self.z)
1124    }
1125
1126    #[inline]
1127    #[must_use]
1128    fn xwww(self) -> DVec4 {
1129        DVec4::new(self.x, self.w, self.w, self.w)
1130    }
1131
1132    #[inline]
1133    #[must_use]
1134    fn yxxx(self) -> DVec4 {
1135        DVec4::new(self.y, self.x, self.x, self.x)
1136    }
1137
1138    #[inline]
1139    #[must_use]
1140    fn yxxy(self) -> DVec4 {
1141        DVec4::new(self.y, self.x, self.x, self.y)
1142    }
1143
1144    #[inline]
1145    #[must_use]
1146    fn yxxz(self) -> DVec4 {
1147        DVec4::new(self.y, self.x, self.x, self.z)
1148    }
1149
1150    #[inline]
1151    #[must_use]
1152    fn yxxw(self) -> DVec4 {
1153        DVec4::new(self.y, self.x, self.x, self.w)
1154    }
1155
1156    #[inline]
1157    #[must_use]
1158    fn yxyx(self) -> DVec4 {
1159        DVec4::new(self.y, self.x, self.y, self.x)
1160    }
1161
1162    #[inline]
1163    #[must_use]
1164    fn yxyy(self) -> DVec4 {
1165        DVec4::new(self.y, self.x, self.y, self.y)
1166    }
1167
1168    #[inline]
1169    #[must_use]
1170    fn yxyz(self) -> DVec4 {
1171        DVec4::new(self.y, self.x, self.y, self.z)
1172    }
1173
1174    #[inline]
1175    #[must_use]
1176    fn yxyw(self) -> DVec4 {
1177        DVec4::new(self.y, self.x, self.y, self.w)
1178    }
1179
1180    #[inline]
1181    #[must_use]
1182    fn yxzx(self) -> DVec4 {
1183        DVec4::new(self.y, self.x, self.z, self.x)
1184    }
1185
1186    #[inline]
1187    #[must_use]
1188    fn yxzy(self) -> DVec4 {
1189        DVec4::new(self.y, self.x, self.z, self.y)
1190    }
1191
1192    #[inline]
1193    #[must_use]
1194    fn yxzz(self) -> DVec4 {
1195        DVec4::new(self.y, self.x, self.z, self.z)
1196    }
1197
1198    #[inline]
1199    #[must_use]
1200    fn yxzw(self) -> DVec4 {
1201        DVec4::new(self.y, self.x, self.z, self.w)
1202    }
1203
1204    #[inline]
1205    #[must_use]
1206    fn yxwx(self) -> DVec4 {
1207        DVec4::new(self.y, self.x, self.w, self.x)
1208    }
1209
1210    #[inline]
1211    #[must_use]
1212    fn yxwy(self) -> DVec4 {
1213        DVec4::new(self.y, self.x, self.w, self.y)
1214    }
1215
1216    #[inline]
1217    #[must_use]
1218    fn yxwz(self) -> DVec4 {
1219        DVec4::new(self.y, self.x, self.w, self.z)
1220    }
1221
1222    #[inline]
1223    #[must_use]
1224    fn yxww(self) -> DVec4 {
1225        DVec4::new(self.y, self.x, self.w, self.w)
1226    }
1227
1228    #[inline]
1229    #[must_use]
1230    fn yyxx(self) -> DVec4 {
1231        DVec4::new(self.y, self.y, self.x, self.x)
1232    }
1233
1234    #[inline]
1235    #[must_use]
1236    fn yyxy(self) -> DVec4 {
1237        DVec4::new(self.y, self.y, self.x, self.y)
1238    }
1239
1240    #[inline]
1241    #[must_use]
1242    fn yyxz(self) -> DVec4 {
1243        DVec4::new(self.y, self.y, self.x, self.z)
1244    }
1245
1246    #[inline]
1247    #[must_use]
1248    fn yyxw(self) -> DVec4 {
1249        DVec4::new(self.y, self.y, self.x, self.w)
1250    }
1251
1252    #[inline]
1253    #[must_use]
1254    fn yyyx(self) -> DVec4 {
1255        DVec4::new(self.y, self.y, self.y, self.x)
1256    }
1257
1258    #[inline]
1259    #[must_use]
1260    fn yyyy(self) -> DVec4 {
1261        DVec4::new(self.y, self.y, self.y, self.y)
1262    }
1263
1264    #[inline]
1265    #[must_use]
1266    fn yyyz(self) -> DVec4 {
1267        DVec4::new(self.y, self.y, self.y, self.z)
1268    }
1269
1270    #[inline]
1271    #[must_use]
1272    fn yyyw(self) -> DVec4 {
1273        DVec4::new(self.y, self.y, self.y, self.w)
1274    }
1275
1276    #[inline]
1277    #[must_use]
1278    fn yyzx(self) -> DVec4 {
1279        DVec4::new(self.y, self.y, self.z, self.x)
1280    }
1281
1282    #[inline]
1283    #[must_use]
1284    fn yyzy(self) -> DVec4 {
1285        DVec4::new(self.y, self.y, self.z, self.y)
1286    }
1287
1288    #[inline]
1289    #[must_use]
1290    fn yyzz(self) -> DVec4 {
1291        DVec4::new(self.y, self.y, self.z, self.z)
1292    }
1293
1294    #[inline]
1295    #[must_use]
1296    fn yyzw(self) -> DVec4 {
1297        DVec4::new(self.y, self.y, self.z, self.w)
1298    }
1299
1300    #[inline]
1301    #[must_use]
1302    fn yywx(self) -> DVec4 {
1303        DVec4::new(self.y, self.y, self.w, self.x)
1304    }
1305
1306    #[inline]
1307    #[must_use]
1308    fn yywy(self) -> DVec4 {
1309        DVec4::new(self.y, self.y, self.w, self.y)
1310    }
1311
1312    #[inline]
1313    #[must_use]
1314    fn yywz(self) -> DVec4 {
1315        DVec4::new(self.y, self.y, self.w, self.z)
1316    }
1317
1318    #[inline]
1319    #[must_use]
1320    fn yyww(self) -> DVec4 {
1321        DVec4::new(self.y, self.y, self.w, self.w)
1322    }
1323
1324    #[inline]
1325    #[must_use]
1326    fn yzxx(self) -> DVec4 {
1327        DVec4::new(self.y, self.z, self.x, self.x)
1328    }
1329
1330    #[inline]
1331    #[must_use]
1332    fn yzxy(self) -> DVec4 {
1333        DVec4::new(self.y, self.z, self.x, self.y)
1334    }
1335
1336    #[inline]
1337    #[must_use]
1338    fn yzxz(self) -> DVec4 {
1339        DVec4::new(self.y, self.z, self.x, self.z)
1340    }
1341
1342    #[inline]
1343    #[must_use]
1344    fn yzxw(self) -> DVec4 {
1345        DVec4::new(self.y, self.z, self.x, self.w)
1346    }
1347
1348    #[inline]
1349    #[must_use]
1350    fn yzyx(self) -> DVec4 {
1351        DVec4::new(self.y, self.z, self.y, self.x)
1352    }
1353
1354    #[inline]
1355    #[must_use]
1356    fn yzyy(self) -> DVec4 {
1357        DVec4::new(self.y, self.z, self.y, self.y)
1358    }
1359
1360    #[inline]
1361    #[must_use]
1362    fn yzyz(self) -> DVec4 {
1363        DVec4::new(self.y, self.z, self.y, self.z)
1364    }
1365
1366    #[inline]
1367    #[must_use]
1368    fn yzyw(self) -> DVec4 {
1369        DVec4::new(self.y, self.z, self.y, self.w)
1370    }
1371
1372    #[inline]
1373    #[must_use]
1374    fn yzzx(self) -> DVec4 {
1375        DVec4::new(self.y, self.z, self.z, self.x)
1376    }
1377
1378    #[inline]
1379    #[must_use]
1380    fn yzzy(self) -> DVec4 {
1381        DVec4::new(self.y, self.z, self.z, self.y)
1382    }
1383
1384    #[inline]
1385    #[must_use]
1386    fn yzzz(self) -> DVec4 {
1387        DVec4::new(self.y, self.z, self.z, self.z)
1388    }
1389
1390    #[inline]
1391    #[must_use]
1392    fn yzzw(self) -> DVec4 {
1393        DVec4::new(self.y, self.z, self.z, self.w)
1394    }
1395
1396    #[inline]
1397    #[must_use]
1398    fn yzwx(self) -> DVec4 {
1399        DVec4::new(self.y, self.z, self.w, self.x)
1400    }
1401
1402    #[inline]
1403    #[must_use]
1404    fn yzwy(self) -> DVec4 {
1405        DVec4::new(self.y, self.z, self.w, self.y)
1406    }
1407
1408    #[inline]
1409    #[must_use]
1410    fn yzwz(self) -> DVec4 {
1411        DVec4::new(self.y, self.z, self.w, self.z)
1412    }
1413
1414    #[inline]
1415    #[must_use]
1416    fn yzww(self) -> DVec4 {
1417        DVec4::new(self.y, self.z, self.w, self.w)
1418    }
1419
1420    #[inline]
1421    #[must_use]
1422    fn ywxx(self) -> DVec4 {
1423        DVec4::new(self.y, self.w, self.x, self.x)
1424    }
1425
1426    #[inline]
1427    #[must_use]
1428    fn ywxy(self) -> DVec4 {
1429        DVec4::new(self.y, self.w, self.x, self.y)
1430    }
1431
1432    #[inline]
1433    #[must_use]
1434    fn ywxz(self) -> DVec4 {
1435        DVec4::new(self.y, self.w, self.x, self.z)
1436    }
1437
1438    #[inline]
1439    #[must_use]
1440    fn ywxw(self) -> DVec4 {
1441        DVec4::new(self.y, self.w, self.x, self.w)
1442    }
1443
1444    #[inline]
1445    #[must_use]
1446    fn ywyx(self) -> DVec4 {
1447        DVec4::new(self.y, self.w, self.y, self.x)
1448    }
1449
1450    #[inline]
1451    #[must_use]
1452    fn ywyy(self) -> DVec4 {
1453        DVec4::new(self.y, self.w, self.y, self.y)
1454    }
1455
1456    #[inline]
1457    #[must_use]
1458    fn ywyz(self) -> DVec4 {
1459        DVec4::new(self.y, self.w, self.y, self.z)
1460    }
1461
1462    #[inline]
1463    #[must_use]
1464    fn ywyw(self) -> DVec4 {
1465        DVec4::new(self.y, self.w, self.y, self.w)
1466    }
1467
1468    #[inline]
1469    #[must_use]
1470    fn ywzx(self) -> DVec4 {
1471        DVec4::new(self.y, self.w, self.z, self.x)
1472    }
1473
1474    #[inline]
1475    #[must_use]
1476    fn ywzy(self) -> DVec4 {
1477        DVec4::new(self.y, self.w, self.z, self.y)
1478    }
1479
1480    #[inline]
1481    #[must_use]
1482    fn ywzz(self) -> DVec4 {
1483        DVec4::new(self.y, self.w, self.z, self.z)
1484    }
1485
1486    #[inline]
1487    #[must_use]
1488    fn ywzw(self) -> DVec4 {
1489        DVec4::new(self.y, self.w, self.z, self.w)
1490    }
1491
1492    #[inline]
1493    #[must_use]
1494    fn ywwx(self) -> DVec4 {
1495        DVec4::new(self.y, self.w, self.w, self.x)
1496    }
1497
1498    #[inline]
1499    #[must_use]
1500    fn ywwy(self) -> DVec4 {
1501        DVec4::new(self.y, self.w, self.w, self.y)
1502    }
1503
1504    #[inline]
1505    #[must_use]
1506    fn ywwz(self) -> DVec4 {
1507        DVec4::new(self.y, self.w, self.w, self.z)
1508    }
1509
1510    #[inline]
1511    #[must_use]
1512    fn ywww(self) -> DVec4 {
1513        DVec4::new(self.y, self.w, self.w, self.w)
1514    }
1515
1516    #[inline]
1517    #[must_use]
1518    fn zxxx(self) -> DVec4 {
1519        DVec4::new(self.z, self.x, self.x, self.x)
1520    }
1521
1522    #[inline]
1523    #[must_use]
1524    fn zxxy(self) -> DVec4 {
1525        DVec4::new(self.z, self.x, self.x, self.y)
1526    }
1527
1528    #[inline]
1529    #[must_use]
1530    fn zxxz(self) -> DVec4 {
1531        DVec4::new(self.z, self.x, self.x, self.z)
1532    }
1533
1534    #[inline]
1535    #[must_use]
1536    fn zxxw(self) -> DVec4 {
1537        DVec4::new(self.z, self.x, self.x, self.w)
1538    }
1539
1540    #[inline]
1541    #[must_use]
1542    fn zxyx(self) -> DVec4 {
1543        DVec4::new(self.z, self.x, self.y, self.x)
1544    }
1545
1546    #[inline]
1547    #[must_use]
1548    fn zxyy(self) -> DVec4 {
1549        DVec4::new(self.z, self.x, self.y, self.y)
1550    }
1551
1552    #[inline]
1553    #[must_use]
1554    fn zxyz(self) -> DVec4 {
1555        DVec4::new(self.z, self.x, self.y, self.z)
1556    }
1557
1558    #[inline]
1559    #[must_use]
1560    fn zxyw(self) -> DVec4 {
1561        DVec4::new(self.z, self.x, self.y, self.w)
1562    }
1563
1564    #[inline]
1565    #[must_use]
1566    fn zxzx(self) -> DVec4 {
1567        DVec4::new(self.z, self.x, self.z, self.x)
1568    }
1569
1570    #[inline]
1571    #[must_use]
1572    fn zxzy(self) -> DVec4 {
1573        DVec4::new(self.z, self.x, self.z, self.y)
1574    }
1575
1576    #[inline]
1577    #[must_use]
1578    fn zxzz(self) -> DVec4 {
1579        DVec4::new(self.z, self.x, self.z, self.z)
1580    }
1581
1582    #[inline]
1583    #[must_use]
1584    fn zxzw(self) -> DVec4 {
1585        DVec4::new(self.z, self.x, self.z, self.w)
1586    }
1587
1588    #[inline]
1589    #[must_use]
1590    fn zxwx(self) -> DVec4 {
1591        DVec4::new(self.z, self.x, self.w, self.x)
1592    }
1593
1594    #[inline]
1595    #[must_use]
1596    fn zxwy(self) -> DVec4 {
1597        DVec4::new(self.z, self.x, self.w, self.y)
1598    }
1599
1600    #[inline]
1601    #[must_use]
1602    fn zxwz(self) -> DVec4 {
1603        DVec4::new(self.z, self.x, self.w, self.z)
1604    }
1605
1606    #[inline]
1607    #[must_use]
1608    fn zxww(self) -> DVec4 {
1609        DVec4::new(self.z, self.x, self.w, self.w)
1610    }
1611
1612    #[inline]
1613    #[must_use]
1614    fn zyxx(self) -> DVec4 {
1615        DVec4::new(self.z, self.y, self.x, self.x)
1616    }
1617
1618    #[inline]
1619    #[must_use]
1620    fn zyxy(self) -> DVec4 {
1621        DVec4::new(self.z, self.y, self.x, self.y)
1622    }
1623
1624    #[inline]
1625    #[must_use]
1626    fn zyxz(self) -> DVec4 {
1627        DVec4::new(self.z, self.y, self.x, self.z)
1628    }
1629
1630    #[inline]
1631    #[must_use]
1632    fn zyxw(self) -> DVec4 {
1633        DVec4::new(self.z, self.y, self.x, self.w)
1634    }
1635
1636    #[inline]
1637    #[must_use]
1638    fn zyyx(self) -> DVec4 {
1639        DVec4::new(self.z, self.y, self.y, self.x)
1640    }
1641
1642    #[inline]
1643    #[must_use]
1644    fn zyyy(self) -> DVec4 {
1645        DVec4::new(self.z, self.y, self.y, self.y)
1646    }
1647
1648    #[inline]
1649    #[must_use]
1650    fn zyyz(self) -> DVec4 {
1651        DVec4::new(self.z, self.y, self.y, self.z)
1652    }
1653
1654    #[inline]
1655    #[must_use]
1656    fn zyyw(self) -> DVec4 {
1657        DVec4::new(self.z, self.y, self.y, self.w)
1658    }
1659
1660    #[inline]
1661    #[must_use]
1662    fn zyzx(self) -> DVec4 {
1663        DVec4::new(self.z, self.y, self.z, self.x)
1664    }
1665
1666    #[inline]
1667    #[must_use]
1668    fn zyzy(self) -> DVec4 {
1669        DVec4::new(self.z, self.y, self.z, self.y)
1670    }
1671
1672    #[inline]
1673    #[must_use]
1674    fn zyzz(self) -> DVec4 {
1675        DVec4::new(self.z, self.y, self.z, self.z)
1676    }
1677
1678    #[inline]
1679    #[must_use]
1680    fn zyzw(self) -> DVec4 {
1681        DVec4::new(self.z, self.y, self.z, self.w)
1682    }
1683
1684    #[inline]
1685    #[must_use]
1686    fn zywx(self) -> DVec4 {
1687        DVec4::new(self.z, self.y, self.w, self.x)
1688    }
1689
1690    #[inline]
1691    #[must_use]
1692    fn zywy(self) -> DVec4 {
1693        DVec4::new(self.z, self.y, self.w, self.y)
1694    }
1695
1696    #[inline]
1697    #[must_use]
1698    fn zywz(self) -> DVec4 {
1699        DVec4::new(self.z, self.y, self.w, self.z)
1700    }
1701
1702    #[inline]
1703    #[must_use]
1704    fn zyww(self) -> DVec4 {
1705        DVec4::new(self.z, self.y, self.w, self.w)
1706    }
1707
1708    #[inline]
1709    #[must_use]
1710    fn zzxx(self) -> DVec4 {
1711        DVec4::new(self.z, self.z, self.x, self.x)
1712    }
1713
1714    #[inline]
1715    #[must_use]
1716    fn zzxy(self) -> DVec4 {
1717        DVec4::new(self.z, self.z, self.x, self.y)
1718    }
1719
1720    #[inline]
1721    #[must_use]
1722    fn zzxz(self) -> DVec4 {
1723        DVec4::new(self.z, self.z, self.x, self.z)
1724    }
1725
1726    #[inline]
1727    #[must_use]
1728    fn zzxw(self) -> DVec4 {
1729        DVec4::new(self.z, self.z, self.x, self.w)
1730    }
1731
1732    #[inline]
1733    #[must_use]
1734    fn zzyx(self) -> DVec4 {
1735        DVec4::new(self.z, self.z, self.y, self.x)
1736    }
1737
1738    #[inline]
1739    #[must_use]
1740    fn zzyy(self) -> DVec4 {
1741        DVec4::new(self.z, self.z, self.y, self.y)
1742    }
1743
1744    #[inline]
1745    #[must_use]
1746    fn zzyz(self) -> DVec4 {
1747        DVec4::new(self.z, self.z, self.y, self.z)
1748    }
1749
1750    #[inline]
1751    #[must_use]
1752    fn zzyw(self) -> DVec4 {
1753        DVec4::new(self.z, self.z, self.y, self.w)
1754    }
1755
1756    #[inline]
1757    #[must_use]
1758    fn zzzx(self) -> DVec4 {
1759        DVec4::new(self.z, self.z, self.z, self.x)
1760    }
1761
1762    #[inline]
1763    #[must_use]
1764    fn zzzy(self) -> DVec4 {
1765        DVec4::new(self.z, self.z, self.z, self.y)
1766    }
1767
1768    #[inline]
1769    #[must_use]
1770    fn zzzz(self) -> DVec4 {
1771        DVec4::new(self.z, self.z, self.z, self.z)
1772    }
1773
1774    #[inline]
1775    #[must_use]
1776    fn zzzw(self) -> DVec4 {
1777        DVec4::new(self.z, self.z, self.z, self.w)
1778    }
1779
1780    #[inline]
1781    #[must_use]
1782    fn zzwx(self) -> DVec4 {
1783        DVec4::new(self.z, self.z, self.w, self.x)
1784    }
1785
1786    #[inline]
1787    #[must_use]
1788    fn zzwy(self) -> DVec4 {
1789        DVec4::new(self.z, self.z, self.w, self.y)
1790    }
1791
1792    #[inline]
1793    #[must_use]
1794    fn zzwz(self) -> DVec4 {
1795        DVec4::new(self.z, self.z, self.w, self.z)
1796    }
1797
1798    #[inline]
1799    #[must_use]
1800    fn zzww(self) -> DVec4 {
1801        DVec4::new(self.z, self.z, self.w, self.w)
1802    }
1803
1804    #[inline]
1805    #[must_use]
1806    fn zwxx(self) -> DVec4 {
1807        DVec4::new(self.z, self.w, self.x, self.x)
1808    }
1809
1810    #[inline]
1811    #[must_use]
1812    fn zwxy(self) -> DVec4 {
1813        DVec4::new(self.z, self.w, self.x, self.y)
1814    }
1815
1816    #[inline]
1817    #[must_use]
1818    fn zwxz(self) -> DVec4 {
1819        DVec4::new(self.z, self.w, self.x, self.z)
1820    }
1821
1822    #[inline]
1823    #[must_use]
1824    fn zwxw(self) -> DVec4 {
1825        DVec4::new(self.z, self.w, self.x, self.w)
1826    }
1827
1828    #[inline]
1829    #[must_use]
1830    fn zwyx(self) -> DVec4 {
1831        DVec4::new(self.z, self.w, self.y, self.x)
1832    }
1833
1834    #[inline]
1835    #[must_use]
1836    fn zwyy(self) -> DVec4 {
1837        DVec4::new(self.z, self.w, self.y, self.y)
1838    }
1839
1840    #[inline]
1841    #[must_use]
1842    fn zwyz(self) -> DVec4 {
1843        DVec4::new(self.z, self.w, self.y, self.z)
1844    }
1845
1846    #[inline]
1847    #[must_use]
1848    fn zwyw(self) -> DVec4 {
1849        DVec4::new(self.z, self.w, self.y, self.w)
1850    }
1851
1852    #[inline]
1853    #[must_use]
1854    fn zwzx(self) -> DVec4 {
1855        DVec4::new(self.z, self.w, self.z, self.x)
1856    }
1857
1858    #[inline]
1859    #[must_use]
1860    fn zwzy(self) -> DVec4 {
1861        DVec4::new(self.z, self.w, self.z, self.y)
1862    }
1863
1864    #[inline]
1865    #[must_use]
1866    fn zwzz(self) -> DVec4 {
1867        DVec4::new(self.z, self.w, self.z, self.z)
1868    }
1869
1870    #[inline]
1871    #[must_use]
1872    fn zwzw(self) -> DVec4 {
1873        DVec4::new(self.z, self.w, self.z, self.w)
1874    }
1875
1876    #[inline]
1877    #[must_use]
1878    fn zwwx(self) -> DVec4 {
1879        DVec4::new(self.z, self.w, self.w, self.x)
1880    }
1881
1882    #[inline]
1883    #[must_use]
1884    fn zwwy(self) -> DVec4 {
1885        DVec4::new(self.z, self.w, self.w, self.y)
1886    }
1887
1888    #[inline]
1889    #[must_use]
1890    fn zwwz(self) -> DVec4 {
1891        DVec4::new(self.z, self.w, self.w, self.z)
1892    }
1893
1894    #[inline]
1895    #[must_use]
1896    fn zwww(self) -> DVec4 {
1897        DVec4::new(self.z, self.w, self.w, self.w)
1898    }
1899
1900    #[inline]
1901    #[must_use]
1902    fn wxxx(self) -> DVec4 {
1903        DVec4::new(self.w, self.x, self.x, self.x)
1904    }
1905
1906    #[inline]
1907    #[must_use]
1908    fn wxxy(self) -> DVec4 {
1909        DVec4::new(self.w, self.x, self.x, self.y)
1910    }
1911
1912    #[inline]
1913    #[must_use]
1914    fn wxxz(self) -> DVec4 {
1915        DVec4::new(self.w, self.x, self.x, self.z)
1916    }
1917
1918    #[inline]
1919    #[must_use]
1920    fn wxxw(self) -> DVec4 {
1921        DVec4::new(self.w, self.x, self.x, self.w)
1922    }
1923
1924    #[inline]
1925    #[must_use]
1926    fn wxyx(self) -> DVec4 {
1927        DVec4::new(self.w, self.x, self.y, self.x)
1928    }
1929
1930    #[inline]
1931    #[must_use]
1932    fn wxyy(self) -> DVec4 {
1933        DVec4::new(self.w, self.x, self.y, self.y)
1934    }
1935
1936    #[inline]
1937    #[must_use]
1938    fn wxyz(self) -> DVec4 {
1939        DVec4::new(self.w, self.x, self.y, self.z)
1940    }
1941
1942    #[inline]
1943    #[must_use]
1944    fn wxyw(self) -> DVec4 {
1945        DVec4::new(self.w, self.x, self.y, self.w)
1946    }
1947
1948    #[inline]
1949    #[must_use]
1950    fn wxzx(self) -> DVec4 {
1951        DVec4::new(self.w, self.x, self.z, self.x)
1952    }
1953
1954    #[inline]
1955    #[must_use]
1956    fn wxzy(self) -> DVec4 {
1957        DVec4::new(self.w, self.x, self.z, self.y)
1958    }
1959
1960    #[inline]
1961    #[must_use]
1962    fn wxzz(self) -> DVec4 {
1963        DVec4::new(self.w, self.x, self.z, self.z)
1964    }
1965
1966    #[inline]
1967    #[must_use]
1968    fn wxzw(self) -> DVec4 {
1969        DVec4::new(self.w, self.x, self.z, self.w)
1970    }
1971
1972    #[inline]
1973    #[must_use]
1974    fn wxwx(self) -> DVec4 {
1975        DVec4::new(self.w, self.x, self.w, self.x)
1976    }
1977
1978    #[inline]
1979    #[must_use]
1980    fn wxwy(self) -> DVec4 {
1981        DVec4::new(self.w, self.x, self.w, self.y)
1982    }
1983
1984    #[inline]
1985    #[must_use]
1986    fn wxwz(self) -> DVec4 {
1987        DVec4::new(self.w, self.x, self.w, self.z)
1988    }
1989
1990    #[inline]
1991    #[must_use]
1992    fn wxww(self) -> DVec4 {
1993        DVec4::new(self.w, self.x, self.w, self.w)
1994    }
1995
1996    #[inline]
1997    #[must_use]
1998    fn wyxx(self) -> DVec4 {
1999        DVec4::new(self.w, self.y, self.x, self.x)
2000    }
2001
2002    #[inline]
2003    #[must_use]
2004    fn wyxy(self) -> DVec4 {
2005        DVec4::new(self.w, self.y, self.x, self.y)
2006    }
2007
2008    #[inline]
2009    #[must_use]
2010    fn wyxz(self) -> DVec4 {
2011        DVec4::new(self.w, self.y, self.x, self.z)
2012    }
2013
2014    #[inline]
2015    #[must_use]
2016    fn wyxw(self) -> DVec4 {
2017        DVec4::new(self.w, self.y, self.x, self.w)
2018    }
2019
2020    #[inline]
2021    #[must_use]
2022    fn wyyx(self) -> DVec4 {
2023        DVec4::new(self.w, self.y, self.y, self.x)
2024    }
2025
2026    #[inline]
2027    #[must_use]
2028    fn wyyy(self) -> DVec4 {
2029        DVec4::new(self.w, self.y, self.y, self.y)
2030    }
2031
2032    #[inline]
2033    #[must_use]
2034    fn wyyz(self) -> DVec4 {
2035        DVec4::new(self.w, self.y, self.y, self.z)
2036    }
2037
2038    #[inline]
2039    #[must_use]
2040    fn wyyw(self) -> DVec4 {
2041        DVec4::new(self.w, self.y, self.y, self.w)
2042    }
2043
2044    #[inline]
2045    #[must_use]
2046    fn wyzx(self) -> DVec4 {
2047        DVec4::new(self.w, self.y, self.z, self.x)
2048    }
2049
2050    #[inline]
2051    #[must_use]
2052    fn wyzy(self) -> DVec4 {
2053        DVec4::new(self.w, self.y, self.z, self.y)
2054    }
2055
2056    #[inline]
2057    #[must_use]
2058    fn wyzz(self) -> DVec4 {
2059        DVec4::new(self.w, self.y, self.z, self.z)
2060    }
2061
2062    #[inline]
2063    #[must_use]
2064    fn wyzw(self) -> DVec4 {
2065        DVec4::new(self.w, self.y, self.z, self.w)
2066    }
2067
2068    #[inline]
2069    #[must_use]
2070    fn wywx(self) -> DVec4 {
2071        DVec4::new(self.w, self.y, self.w, self.x)
2072    }
2073
2074    #[inline]
2075    #[must_use]
2076    fn wywy(self) -> DVec4 {
2077        DVec4::new(self.w, self.y, self.w, self.y)
2078    }
2079
2080    #[inline]
2081    #[must_use]
2082    fn wywz(self) -> DVec4 {
2083        DVec4::new(self.w, self.y, self.w, self.z)
2084    }
2085
2086    #[inline]
2087    #[must_use]
2088    fn wyww(self) -> DVec4 {
2089        DVec4::new(self.w, self.y, self.w, self.w)
2090    }
2091
2092    #[inline]
2093    #[must_use]
2094    fn wzxx(self) -> DVec4 {
2095        DVec4::new(self.w, self.z, self.x, self.x)
2096    }
2097
2098    #[inline]
2099    #[must_use]
2100    fn wzxy(self) -> DVec4 {
2101        DVec4::new(self.w, self.z, self.x, self.y)
2102    }
2103
2104    #[inline]
2105    #[must_use]
2106    fn wzxz(self) -> DVec4 {
2107        DVec4::new(self.w, self.z, self.x, self.z)
2108    }
2109
2110    #[inline]
2111    #[must_use]
2112    fn wzxw(self) -> DVec4 {
2113        DVec4::new(self.w, self.z, self.x, self.w)
2114    }
2115
2116    #[inline]
2117    #[must_use]
2118    fn wzyx(self) -> DVec4 {
2119        DVec4::new(self.w, self.z, self.y, self.x)
2120    }
2121
2122    #[inline]
2123    #[must_use]
2124    fn wzyy(self) -> DVec4 {
2125        DVec4::new(self.w, self.z, self.y, self.y)
2126    }
2127
2128    #[inline]
2129    #[must_use]
2130    fn wzyz(self) -> DVec4 {
2131        DVec4::new(self.w, self.z, self.y, self.z)
2132    }
2133
2134    #[inline]
2135    #[must_use]
2136    fn wzyw(self) -> DVec4 {
2137        DVec4::new(self.w, self.z, self.y, self.w)
2138    }
2139
2140    #[inline]
2141    #[must_use]
2142    fn wzzx(self) -> DVec4 {
2143        DVec4::new(self.w, self.z, self.z, self.x)
2144    }
2145
2146    #[inline]
2147    #[must_use]
2148    fn wzzy(self) -> DVec4 {
2149        DVec4::new(self.w, self.z, self.z, self.y)
2150    }
2151
2152    #[inline]
2153    #[must_use]
2154    fn wzzz(self) -> DVec4 {
2155        DVec4::new(self.w, self.z, self.z, self.z)
2156    }
2157
2158    #[inline]
2159    #[must_use]
2160    fn wzzw(self) -> DVec4 {
2161        DVec4::new(self.w, self.z, self.z, self.w)
2162    }
2163
2164    #[inline]
2165    #[must_use]
2166    fn wzwx(self) -> DVec4 {
2167        DVec4::new(self.w, self.z, self.w, self.x)
2168    }
2169
2170    #[inline]
2171    #[must_use]
2172    fn wzwy(self) -> DVec4 {
2173        DVec4::new(self.w, self.z, self.w, self.y)
2174    }
2175
2176    #[inline]
2177    #[must_use]
2178    fn wzwz(self) -> DVec4 {
2179        DVec4::new(self.w, self.z, self.w, self.z)
2180    }
2181
2182    #[inline]
2183    #[must_use]
2184    fn wzww(self) -> DVec4 {
2185        DVec4::new(self.w, self.z, self.w, self.w)
2186    }
2187
2188    #[inline]
2189    #[must_use]
2190    fn wwxx(self) -> DVec4 {
2191        DVec4::new(self.w, self.w, self.x, self.x)
2192    }
2193
2194    #[inline]
2195    #[must_use]
2196    fn wwxy(self) -> DVec4 {
2197        DVec4::new(self.w, self.w, self.x, self.y)
2198    }
2199
2200    #[inline]
2201    #[must_use]
2202    fn wwxz(self) -> DVec4 {
2203        DVec4::new(self.w, self.w, self.x, self.z)
2204    }
2205
2206    #[inline]
2207    #[must_use]
2208    fn wwxw(self) -> DVec4 {
2209        DVec4::new(self.w, self.w, self.x, self.w)
2210    }
2211
2212    #[inline]
2213    #[must_use]
2214    fn wwyx(self) -> DVec4 {
2215        DVec4::new(self.w, self.w, self.y, self.x)
2216    }
2217
2218    #[inline]
2219    #[must_use]
2220    fn wwyy(self) -> DVec4 {
2221        DVec4::new(self.w, self.w, self.y, self.y)
2222    }
2223
2224    #[inline]
2225    #[must_use]
2226    fn wwyz(self) -> DVec4 {
2227        DVec4::new(self.w, self.w, self.y, self.z)
2228    }
2229
2230    #[inline]
2231    #[must_use]
2232    fn wwyw(self) -> DVec4 {
2233        DVec4::new(self.w, self.w, self.y, self.w)
2234    }
2235
2236    #[inline]
2237    #[must_use]
2238    fn wwzx(self) -> DVec4 {
2239        DVec4::new(self.w, self.w, self.z, self.x)
2240    }
2241
2242    #[inline]
2243    #[must_use]
2244    fn wwzy(self) -> DVec4 {
2245        DVec4::new(self.w, self.w, self.z, self.y)
2246    }
2247
2248    #[inline]
2249    #[must_use]
2250    fn wwzz(self) -> DVec4 {
2251        DVec4::new(self.w, self.w, self.z, self.z)
2252    }
2253
2254    #[inline]
2255    #[must_use]
2256    fn wwzw(self) -> DVec4 {
2257        DVec4::new(self.w, self.w, self.z, self.w)
2258    }
2259
2260    #[inline]
2261    #[must_use]
2262    fn wwwx(self) -> DVec4 {
2263        DVec4::new(self.w, self.w, self.w, self.x)
2264    }
2265
2266    #[inline]
2267    #[must_use]
2268    fn wwwy(self) -> DVec4 {
2269        DVec4::new(self.w, self.w, self.w, self.y)
2270    }
2271
2272    #[inline]
2273    #[must_use]
2274    fn wwwz(self) -> DVec4 {
2275        DVec4::new(self.w, self.w, self.w, self.z)
2276    }
2277
2278    #[inline]
2279    #[must_use]
2280    fn wwww(self) -> DVec4 {
2281        DVec4::new(self.w, self.w, self.w, self.w)
2282    }
2283}