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