1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file.
2 
3 use crate::{IVec2, IVec3, IVec4, Vec4Swizzles};
4 
5 impl Vec4Swizzles for IVec4 {
6     type Vec2 = IVec2;
7 
8     type Vec3 = IVec3;
9 
10     #[inline]
11     #[must_use]
xx(self) -> IVec212     fn xx(self) -> IVec2 {
13         IVec2 {
14             x: self.x,
15             y: self.x,
16         }
17     }
18 
19     #[inline]
20     #[must_use]
xy(self) -> IVec221     fn xy(self) -> IVec2 {
22         IVec2 {
23             x: self.x,
24             y: self.y,
25         }
26     }
27 
28     #[inline]
29     #[must_use]
xz(self) -> IVec230     fn xz(self) -> IVec2 {
31         IVec2 {
32             x: self.x,
33             y: self.z,
34         }
35     }
36 
37     #[inline]
38     #[must_use]
xw(self) -> IVec239     fn xw(self) -> IVec2 {
40         IVec2 {
41             x: self.x,
42             y: self.w,
43         }
44     }
45 
46     #[inline]
47     #[must_use]
yx(self) -> IVec248     fn yx(self) -> IVec2 {
49         IVec2 {
50             x: self.y,
51             y: self.x,
52         }
53     }
54 
55     #[inline]
56     #[must_use]
yy(self) -> IVec257     fn yy(self) -> IVec2 {
58         IVec2 {
59             x: self.y,
60             y: self.y,
61         }
62     }
63 
64     #[inline]
65     #[must_use]
yz(self) -> IVec266     fn yz(self) -> IVec2 {
67         IVec2 {
68             x: self.y,
69             y: self.z,
70         }
71     }
72 
73     #[inline]
74     #[must_use]
yw(self) -> IVec275     fn yw(self) -> IVec2 {
76         IVec2 {
77             x: self.y,
78             y: self.w,
79         }
80     }
81 
82     #[inline]
83     #[must_use]
zx(self) -> IVec284     fn zx(self) -> IVec2 {
85         IVec2 {
86             x: self.z,
87             y: self.x,
88         }
89     }
90 
91     #[inline]
92     #[must_use]
zy(self) -> IVec293     fn zy(self) -> IVec2 {
94         IVec2 {
95             x: self.z,
96             y: self.y,
97         }
98     }
99 
100     #[inline]
101     #[must_use]
zz(self) -> IVec2102     fn zz(self) -> IVec2 {
103         IVec2 {
104             x: self.z,
105             y: self.z,
106         }
107     }
108 
109     #[inline]
110     #[must_use]
zw(self) -> IVec2111     fn zw(self) -> IVec2 {
112         IVec2 {
113             x: self.z,
114             y: self.w,
115         }
116     }
117 
118     #[inline]
119     #[must_use]
wx(self) -> IVec2120     fn wx(self) -> IVec2 {
121         IVec2 {
122             x: self.w,
123             y: self.x,
124         }
125     }
126 
127     #[inline]
128     #[must_use]
wy(self) -> IVec2129     fn wy(self) -> IVec2 {
130         IVec2 {
131             x: self.w,
132             y: self.y,
133         }
134     }
135 
136     #[inline]
137     #[must_use]
wz(self) -> IVec2138     fn wz(self) -> IVec2 {
139         IVec2 {
140             x: self.w,
141             y: self.z,
142         }
143     }
144 
145     #[inline]
146     #[must_use]
ww(self) -> IVec2147     fn ww(self) -> IVec2 {
148         IVec2 {
149             x: self.w,
150             y: self.w,
151         }
152     }
153 
154     #[inline]
155     #[must_use]
xxx(self) -> IVec3156     fn xxx(self) -> IVec3 {
157         IVec3 {
158             x: self.x,
159             y: self.x,
160             z: self.x,
161         }
162     }
163 
164     #[inline]
165     #[must_use]
xxy(self) -> IVec3166     fn xxy(self) -> IVec3 {
167         IVec3 {
168             x: self.x,
169             y: self.x,
170             z: self.y,
171         }
172     }
173 
174     #[inline]
175     #[must_use]
xxz(self) -> IVec3176     fn xxz(self) -> IVec3 {
177         IVec3 {
178             x: self.x,
179             y: self.x,
180             z: self.z,
181         }
182     }
183 
184     #[inline]
185     #[must_use]
xxw(self) -> IVec3186     fn xxw(self) -> IVec3 {
187         IVec3 {
188             x: self.x,
189             y: self.x,
190             z: self.w,
191         }
192     }
193 
194     #[inline]
195     #[must_use]
xyx(self) -> IVec3196     fn xyx(self) -> IVec3 {
197         IVec3 {
198             x: self.x,
199             y: self.y,
200             z: self.x,
201         }
202     }
203 
204     #[inline]
205     #[must_use]
xyy(self) -> IVec3206     fn xyy(self) -> IVec3 {
207         IVec3 {
208             x: self.x,
209             y: self.y,
210             z: self.y,
211         }
212     }
213 
214     #[inline]
215     #[must_use]
xyz(self) -> IVec3216     fn xyz(self) -> IVec3 {
217         IVec3 {
218             x: self.x,
219             y: self.y,
220             z: self.z,
221         }
222     }
223 
224     #[inline]
225     #[must_use]
xyw(self) -> IVec3226     fn xyw(self) -> IVec3 {
227         IVec3 {
228             x: self.x,
229             y: self.y,
230             z: self.w,
231         }
232     }
233 
234     #[inline]
235     #[must_use]
xzx(self) -> IVec3236     fn xzx(self) -> IVec3 {
237         IVec3 {
238             x: self.x,
239             y: self.z,
240             z: self.x,
241         }
242     }
243 
244     #[inline]
245     #[must_use]
xzy(self) -> IVec3246     fn xzy(self) -> IVec3 {
247         IVec3 {
248             x: self.x,
249             y: self.z,
250             z: self.y,
251         }
252     }
253 
254     #[inline]
255     #[must_use]
xzz(self) -> IVec3256     fn xzz(self) -> IVec3 {
257         IVec3 {
258             x: self.x,
259             y: self.z,
260             z: self.z,
261         }
262     }
263 
264     #[inline]
265     #[must_use]
xzw(self) -> IVec3266     fn xzw(self) -> IVec3 {
267         IVec3 {
268             x: self.x,
269             y: self.z,
270             z: self.w,
271         }
272     }
273 
274     #[inline]
275     #[must_use]
xwx(self) -> IVec3276     fn xwx(self) -> IVec3 {
277         IVec3 {
278             x: self.x,
279             y: self.w,
280             z: self.x,
281         }
282     }
283 
284     #[inline]
285     #[must_use]
xwy(self) -> IVec3286     fn xwy(self) -> IVec3 {
287         IVec3 {
288             x: self.x,
289             y: self.w,
290             z: self.y,
291         }
292     }
293 
294     #[inline]
295     #[must_use]
xwz(self) -> IVec3296     fn xwz(self) -> IVec3 {
297         IVec3 {
298             x: self.x,
299             y: self.w,
300             z: self.z,
301         }
302     }
303 
304     #[inline]
305     #[must_use]
xww(self) -> IVec3306     fn xww(self) -> IVec3 {
307         IVec3 {
308             x: self.x,
309             y: self.w,
310             z: self.w,
311         }
312     }
313 
314     #[inline]
315     #[must_use]
yxx(self) -> IVec3316     fn yxx(self) -> IVec3 {
317         IVec3 {
318             x: self.y,
319             y: self.x,
320             z: self.x,
321         }
322     }
323 
324     #[inline]
325     #[must_use]
yxy(self) -> IVec3326     fn yxy(self) -> IVec3 {
327         IVec3 {
328             x: self.y,
329             y: self.x,
330             z: self.y,
331         }
332     }
333 
334     #[inline]
335     #[must_use]
yxz(self) -> IVec3336     fn yxz(self) -> IVec3 {
337         IVec3 {
338             x: self.y,
339             y: self.x,
340             z: self.z,
341         }
342     }
343 
344     #[inline]
345     #[must_use]
yxw(self) -> IVec3346     fn yxw(self) -> IVec3 {
347         IVec3 {
348             x: self.y,
349             y: self.x,
350             z: self.w,
351         }
352     }
353 
354     #[inline]
355     #[must_use]
yyx(self) -> IVec3356     fn yyx(self) -> IVec3 {
357         IVec3 {
358             x: self.y,
359             y: self.y,
360             z: self.x,
361         }
362     }
363 
364     #[inline]
365     #[must_use]
yyy(self) -> IVec3366     fn yyy(self) -> IVec3 {
367         IVec3 {
368             x: self.y,
369             y: self.y,
370             z: self.y,
371         }
372     }
373 
374     #[inline]
375     #[must_use]
yyz(self) -> IVec3376     fn yyz(self) -> IVec3 {
377         IVec3 {
378             x: self.y,
379             y: self.y,
380             z: self.z,
381         }
382     }
383 
384     #[inline]
385     #[must_use]
yyw(self) -> IVec3386     fn yyw(self) -> IVec3 {
387         IVec3 {
388             x: self.y,
389             y: self.y,
390             z: self.w,
391         }
392     }
393 
394     #[inline]
395     #[must_use]
yzx(self) -> IVec3396     fn yzx(self) -> IVec3 {
397         IVec3 {
398             x: self.y,
399             y: self.z,
400             z: self.x,
401         }
402     }
403 
404     #[inline]
405     #[must_use]
yzy(self) -> IVec3406     fn yzy(self) -> IVec3 {
407         IVec3 {
408             x: self.y,
409             y: self.z,
410             z: self.y,
411         }
412     }
413 
414     #[inline]
415     #[must_use]
yzz(self) -> IVec3416     fn yzz(self) -> IVec3 {
417         IVec3 {
418             x: self.y,
419             y: self.z,
420             z: self.z,
421         }
422     }
423 
424     #[inline]
425     #[must_use]
yzw(self) -> IVec3426     fn yzw(self) -> IVec3 {
427         IVec3 {
428             x: self.y,
429             y: self.z,
430             z: self.w,
431         }
432     }
433 
434     #[inline]
435     #[must_use]
ywx(self) -> IVec3436     fn ywx(self) -> IVec3 {
437         IVec3 {
438             x: self.y,
439             y: self.w,
440             z: self.x,
441         }
442     }
443 
444     #[inline]
445     #[must_use]
ywy(self) -> IVec3446     fn ywy(self) -> IVec3 {
447         IVec3 {
448             x: self.y,
449             y: self.w,
450             z: self.y,
451         }
452     }
453 
454     #[inline]
455     #[must_use]
ywz(self) -> IVec3456     fn ywz(self) -> IVec3 {
457         IVec3 {
458             x: self.y,
459             y: self.w,
460             z: self.z,
461         }
462     }
463 
464     #[inline]
465     #[must_use]
yww(self) -> IVec3466     fn yww(self) -> IVec3 {
467         IVec3 {
468             x: self.y,
469             y: self.w,
470             z: self.w,
471         }
472     }
473 
474     #[inline]
475     #[must_use]
zxx(self) -> IVec3476     fn zxx(self) -> IVec3 {
477         IVec3 {
478             x: self.z,
479             y: self.x,
480             z: self.x,
481         }
482     }
483 
484     #[inline]
485     #[must_use]
zxy(self) -> IVec3486     fn zxy(self) -> IVec3 {
487         IVec3 {
488             x: self.z,
489             y: self.x,
490             z: self.y,
491         }
492     }
493 
494     #[inline]
495     #[must_use]
zxz(self) -> IVec3496     fn zxz(self) -> IVec3 {
497         IVec3 {
498             x: self.z,
499             y: self.x,
500             z: self.z,
501         }
502     }
503 
504     #[inline]
505     #[must_use]
zxw(self) -> IVec3506     fn zxw(self) -> IVec3 {
507         IVec3 {
508             x: self.z,
509             y: self.x,
510             z: self.w,
511         }
512     }
513 
514     #[inline]
515     #[must_use]
zyx(self) -> IVec3516     fn zyx(self) -> IVec3 {
517         IVec3 {
518             x: self.z,
519             y: self.y,
520             z: self.x,
521         }
522     }
523 
524     #[inline]
525     #[must_use]
zyy(self) -> IVec3526     fn zyy(self) -> IVec3 {
527         IVec3 {
528             x: self.z,
529             y: self.y,
530             z: self.y,
531         }
532     }
533 
534     #[inline]
535     #[must_use]
zyz(self) -> IVec3536     fn zyz(self) -> IVec3 {
537         IVec3 {
538             x: self.z,
539             y: self.y,
540             z: self.z,
541         }
542     }
543 
544     #[inline]
545     #[must_use]
zyw(self) -> IVec3546     fn zyw(self) -> IVec3 {
547         IVec3 {
548             x: self.z,
549             y: self.y,
550             z: self.w,
551         }
552     }
553 
554     #[inline]
555     #[must_use]
zzx(self) -> IVec3556     fn zzx(self) -> IVec3 {
557         IVec3 {
558             x: self.z,
559             y: self.z,
560             z: self.x,
561         }
562     }
563 
564     #[inline]
565     #[must_use]
zzy(self) -> IVec3566     fn zzy(self) -> IVec3 {
567         IVec3 {
568             x: self.z,
569             y: self.z,
570             z: self.y,
571         }
572     }
573 
574     #[inline]
575     #[must_use]
zzz(self) -> IVec3576     fn zzz(self) -> IVec3 {
577         IVec3 {
578             x: self.z,
579             y: self.z,
580             z: self.z,
581         }
582     }
583 
584     #[inline]
585     #[must_use]
zzw(self) -> IVec3586     fn zzw(self) -> IVec3 {
587         IVec3 {
588             x: self.z,
589             y: self.z,
590             z: self.w,
591         }
592     }
593 
594     #[inline]
595     #[must_use]
zwx(self) -> IVec3596     fn zwx(self) -> IVec3 {
597         IVec3 {
598             x: self.z,
599             y: self.w,
600             z: self.x,
601         }
602     }
603 
604     #[inline]
605     #[must_use]
zwy(self) -> IVec3606     fn zwy(self) -> IVec3 {
607         IVec3 {
608             x: self.z,
609             y: self.w,
610             z: self.y,
611         }
612     }
613 
614     #[inline]
615     #[must_use]
zwz(self) -> IVec3616     fn zwz(self) -> IVec3 {
617         IVec3 {
618             x: self.z,
619             y: self.w,
620             z: self.z,
621         }
622     }
623 
624     #[inline]
625     #[must_use]
zww(self) -> IVec3626     fn zww(self) -> IVec3 {
627         IVec3 {
628             x: self.z,
629             y: self.w,
630             z: self.w,
631         }
632     }
633 
634     #[inline]
635     #[must_use]
wxx(self) -> IVec3636     fn wxx(self) -> IVec3 {
637         IVec3 {
638             x: self.w,
639             y: self.x,
640             z: self.x,
641         }
642     }
643 
644     #[inline]
645     #[must_use]
wxy(self) -> IVec3646     fn wxy(self) -> IVec3 {
647         IVec3 {
648             x: self.w,
649             y: self.x,
650             z: self.y,
651         }
652     }
653 
654     #[inline]
655     #[must_use]
wxz(self) -> IVec3656     fn wxz(self) -> IVec3 {
657         IVec3 {
658             x: self.w,
659             y: self.x,
660             z: self.z,
661         }
662     }
663 
664     #[inline]
665     #[must_use]
wxw(self) -> IVec3666     fn wxw(self) -> IVec3 {
667         IVec3 {
668             x: self.w,
669             y: self.x,
670             z: self.w,
671         }
672     }
673 
674     #[inline]
675     #[must_use]
wyx(self) -> IVec3676     fn wyx(self) -> IVec3 {
677         IVec3 {
678             x: self.w,
679             y: self.y,
680             z: self.x,
681         }
682     }
683 
684     #[inline]
685     #[must_use]
wyy(self) -> IVec3686     fn wyy(self) -> IVec3 {
687         IVec3 {
688             x: self.w,
689             y: self.y,
690             z: self.y,
691         }
692     }
693 
694     #[inline]
695     #[must_use]
wyz(self) -> IVec3696     fn wyz(self) -> IVec3 {
697         IVec3 {
698             x: self.w,
699             y: self.y,
700             z: self.z,
701         }
702     }
703 
704     #[inline]
705     #[must_use]
wyw(self) -> IVec3706     fn wyw(self) -> IVec3 {
707         IVec3 {
708             x: self.w,
709             y: self.y,
710             z: self.w,
711         }
712     }
713 
714     #[inline]
715     #[must_use]
wzx(self) -> IVec3716     fn wzx(self) -> IVec3 {
717         IVec3 {
718             x: self.w,
719             y: self.z,
720             z: self.x,
721         }
722     }
723 
724     #[inline]
725     #[must_use]
wzy(self) -> IVec3726     fn wzy(self) -> IVec3 {
727         IVec3 {
728             x: self.w,
729             y: self.z,
730             z: self.y,
731         }
732     }
733 
734     #[inline]
735     #[must_use]
wzz(self) -> IVec3736     fn wzz(self) -> IVec3 {
737         IVec3 {
738             x: self.w,
739             y: self.z,
740             z: self.z,
741         }
742     }
743 
744     #[inline]
745     #[must_use]
wzw(self) -> IVec3746     fn wzw(self) -> IVec3 {
747         IVec3 {
748             x: self.w,
749             y: self.z,
750             z: self.w,
751         }
752     }
753 
754     #[inline]
755     #[must_use]
wwx(self) -> IVec3756     fn wwx(self) -> IVec3 {
757         IVec3 {
758             x: self.w,
759             y: self.w,
760             z: self.x,
761         }
762     }
763 
764     #[inline]
765     #[must_use]
wwy(self) -> IVec3766     fn wwy(self) -> IVec3 {
767         IVec3 {
768             x: self.w,
769             y: self.w,
770             z: self.y,
771         }
772     }
773 
774     #[inline]
775     #[must_use]
wwz(self) -> IVec3776     fn wwz(self) -> IVec3 {
777         IVec3 {
778             x: self.w,
779             y: self.w,
780             z: self.z,
781         }
782     }
783 
784     #[inline]
785     #[must_use]
www(self) -> IVec3786     fn www(self) -> IVec3 {
787         IVec3 {
788             x: self.w,
789             y: self.w,
790             z: self.w,
791         }
792     }
793 
794     #[inline]
795     #[must_use]
xxxx(self) -> IVec4796     fn xxxx(self) -> IVec4 {
797         IVec4::new(self.x, self.x, self.x, self.x)
798     }
799 
800     #[inline]
801     #[must_use]
xxxy(self) -> IVec4802     fn xxxy(self) -> IVec4 {
803         IVec4::new(self.x, self.x, self.x, self.y)
804     }
805 
806     #[inline]
807     #[must_use]
xxxz(self) -> IVec4808     fn xxxz(self) -> IVec4 {
809         IVec4::new(self.x, self.x, self.x, self.z)
810     }
811 
812     #[inline]
813     #[must_use]
xxxw(self) -> IVec4814     fn xxxw(self) -> IVec4 {
815         IVec4::new(self.x, self.x, self.x, self.w)
816     }
817 
818     #[inline]
819     #[must_use]
xxyx(self) -> IVec4820     fn xxyx(self) -> IVec4 {
821         IVec4::new(self.x, self.x, self.y, self.x)
822     }
823 
824     #[inline]
825     #[must_use]
xxyy(self) -> IVec4826     fn xxyy(self) -> IVec4 {
827         IVec4::new(self.x, self.x, self.y, self.y)
828     }
829 
830     #[inline]
831     #[must_use]
xxyz(self) -> IVec4832     fn xxyz(self) -> IVec4 {
833         IVec4::new(self.x, self.x, self.y, self.z)
834     }
835 
836     #[inline]
837     #[must_use]
xxyw(self) -> IVec4838     fn xxyw(self) -> IVec4 {
839         IVec4::new(self.x, self.x, self.y, self.w)
840     }
841 
842     #[inline]
843     #[must_use]
xxzx(self) -> IVec4844     fn xxzx(self) -> IVec4 {
845         IVec4::new(self.x, self.x, self.z, self.x)
846     }
847 
848     #[inline]
849     #[must_use]
xxzy(self) -> IVec4850     fn xxzy(self) -> IVec4 {
851         IVec4::new(self.x, self.x, self.z, self.y)
852     }
853 
854     #[inline]
855     #[must_use]
xxzz(self) -> IVec4856     fn xxzz(self) -> IVec4 {
857         IVec4::new(self.x, self.x, self.z, self.z)
858     }
859 
860     #[inline]
861     #[must_use]
xxzw(self) -> IVec4862     fn xxzw(self) -> IVec4 {
863         IVec4::new(self.x, self.x, self.z, self.w)
864     }
865 
866     #[inline]
867     #[must_use]
xxwx(self) -> IVec4868     fn xxwx(self) -> IVec4 {
869         IVec4::new(self.x, self.x, self.w, self.x)
870     }
871 
872     #[inline]
873     #[must_use]
xxwy(self) -> IVec4874     fn xxwy(self) -> IVec4 {
875         IVec4::new(self.x, self.x, self.w, self.y)
876     }
877 
878     #[inline]
879     #[must_use]
xxwz(self) -> IVec4880     fn xxwz(self) -> IVec4 {
881         IVec4::new(self.x, self.x, self.w, self.z)
882     }
883 
884     #[inline]
885     #[must_use]
xxww(self) -> IVec4886     fn xxww(self) -> IVec4 {
887         IVec4::new(self.x, self.x, self.w, self.w)
888     }
889 
890     #[inline]
891     #[must_use]
xyxx(self) -> IVec4892     fn xyxx(self) -> IVec4 {
893         IVec4::new(self.x, self.y, self.x, self.x)
894     }
895 
896     #[inline]
897     #[must_use]
xyxy(self) -> IVec4898     fn xyxy(self) -> IVec4 {
899         IVec4::new(self.x, self.y, self.x, self.y)
900     }
901 
902     #[inline]
903     #[must_use]
xyxz(self) -> IVec4904     fn xyxz(self) -> IVec4 {
905         IVec4::new(self.x, self.y, self.x, self.z)
906     }
907 
908     #[inline]
909     #[must_use]
xyxw(self) -> IVec4910     fn xyxw(self) -> IVec4 {
911         IVec4::new(self.x, self.y, self.x, self.w)
912     }
913 
914     #[inline]
915     #[must_use]
xyyx(self) -> IVec4916     fn xyyx(self) -> IVec4 {
917         IVec4::new(self.x, self.y, self.y, self.x)
918     }
919 
920     #[inline]
921     #[must_use]
xyyy(self) -> IVec4922     fn xyyy(self) -> IVec4 {
923         IVec4::new(self.x, self.y, self.y, self.y)
924     }
925 
926     #[inline]
927     #[must_use]
xyyz(self) -> IVec4928     fn xyyz(self) -> IVec4 {
929         IVec4::new(self.x, self.y, self.y, self.z)
930     }
931 
932     #[inline]
933     #[must_use]
xyyw(self) -> IVec4934     fn xyyw(self) -> IVec4 {
935         IVec4::new(self.x, self.y, self.y, self.w)
936     }
937 
938     #[inline]
939     #[must_use]
xyzx(self) -> IVec4940     fn xyzx(self) -> IVec4 {
941         IVec4::new(self.x, self.y, self.z, self.x)
942     }
943 
944     #[inline]
945     #[must_use]
xyzy(self) -> IVec4946     fn xyzy(self) -> IVec4 {
947         IVec4::new(self.x, self.y, self.z, self.y)
948     }
949 
950     #[inline]
951     #[must_use]
xyzz(self) -> IVec4952     fn xyzz(self) -> IVec4 {
953         IVec4::new(self.x, self.y, self.z, self.z)
954     }
955 
956     #[inline]
957     #[must_use]
xyzw(self) -> IVec4958     fn xyzw(self) -> IVec4 {
959         IVec4::new(self.x, self.y, self.z, self.w)
960     }
961 
962     #[inline]
963     #[must_use]
xywx(self) -> IVec4964     fn xywx(self) -> IVec4 {
965         IVec4::new(self.x, self.y, self.w, self.x)
966     }
967 
968     #[inline]
969     #[must_use]
xywy(self) -> IVec4970     fn xywy(self) -> IVec4 {
971         IVec4::new(self.x, self.y, self.w, self.y)
972     }
973 
974     #[inline]
975     #[must_use]
xywz(self) -> IVec4976     fn xywz(self) -> IVec4 {
977         IVec4::new(self.x, self.y, self.w, self.z)
978     }
979 
980     #[inline]
981     #[must_use]
xyww(self) -> IVec4982     fn xyww(self) -> IVec4 {
983         IVec4::new(self.x, self.y, self.w, self.w)
984     }
985 
986     #[inline]
987     #[must_use]
xzxx(self) -> IVec4988     fn xzxx(self) -> IVec4 {
989         IVec4::new(self.x, self.z, self.x, self.x)
990     }
991 
992     #[inline]
993     #[must_use]
xzxy(self) -> IVec4994     fn xzxy(self) -> IVec4 {
995         IVec4::new(self.x, self.z, self.x, self.y)
996     }
997 
998     #[inline]
999     #[must_use]
xzxz(self) -> IVec41000     fn xzxz(self) -> IVec4 {
1001         IVec4::new(self.x, self.z, self.x, self.z)
1002     }
1003 
1004     #[inline]
1005     #[must_use]
xzxw(self) -> IVec41006     fn xzxw(self) -> IVec4 {
1007         IVec4::new(self.x, self.z, self.x, self.w)
1008     }
1009 
1010     #[inline]
1011     #[must_use]
xzyx(self) -> IVec41012     fn xzyx(self) -> IVec4 {
1013         IVec4::new(self.x, self.z, self.y, self.x)
1014     }
1015 
1016     #[inline]
1017     #[must_use]
xzyy(self) -> IVec41018     fn xzyy(self) -> IVec4 {
1019         IVec4::new(self.x, self.z, self.y, self.y)
1020     }
1021 
1022     #[inline]
1023     #[must_use]
xzyz(self) -> IVec41024     fn xzyz(self) -> IVec4 {
1025         IVec4::new(self.x, self.z, self.y, self.z)
1026     }
1027 
1028     #[inline]
1029     #[must_use]
xzyw(self) -> IVec41030     fn xzyw(self) -> IVec4 {
1031         IVec4::new(self.x, self.z, self.y, self.w)
1032     }
1033 
1034     #[inline]
1035     #[must_use]
xzzx(self) -> IVec41036     fn xzzx(self) -> IVec4 {
1037         IVec4::new(self.x, self.z, self.z, self.x)
1038     }
1039 
1040     #[inline]
1041     #[must_use]
xzzy(self) -> IVec41042     fn xzzy(self) -> IVec4 {
1043         IVec4::new(self.x, self.z, self.z, self.y)
1044     }
1045 
1046     #[inline]
1047     #[must_use]
xzzz(self) -> IVec41048     fn xzzz(self) -> IVec4 {
1049         IVec4::new(self.x, self.z, self.z, self.z)
1050     }
1051 
1052     #[inline]
1053     #[must_use]
xzzw(self) -> IVec41054     fn xzzw(self) -> IVec4 {
1055         IVec4::new(self.x, self.z, self.z, self.w)
1056     }
1057 
1058     #[inline]
1059     #[must_use]
xzwx(self) -> IVec41060     fn xzwx(self) -> IVec4 {
1061         IVec4::new(self.x, self.z, self.w, self.x)
1062     }
1063 
1064     #[inline]
1065     #[must_use]
xzwy(self) -> IVec41066     fn xzwy(self) -> IVec4 {
1067         IVec4::new(self.x, self.z, self.w, self.y)
1068     }
1069 
1070     #[inline]
1071     #[must_use]
xzwz(self) -> IVec41072     fn xzwz(self) -> IVec4 {
1073         IVec4::new(self.x, self.z, self.w, self.z)
1074     }
1075 
1076     #[inline]
1077     #[must_use]
xzww(self) -> IVec41078     fn xzww(self) -> IVec4 {
1079         IVec4::new(self.x, self.z, self.w, self.w)
1080     }
1081 
1082     #[inline]
1083     #[must_use]
xwxx(self) -> IVec41084     fn xwxx(self) -> IVec4 {
1085         IVec4::new(self.x, self.w, self.x, self.x)
1086     }
1087 
1088     #[inline]
1089     #[must_use]
xwxy(self) -> IVec41090     fn xwxy(self) -> IVec4 {
1091         IVec4::new(self.x, self.w, self.x, self.y)
1092     }
1093 
1094     #[inline]
1095     #[must_use]
xwxz(self) -> IVec41096     fn xwxz(self) -> IVec4 {
1097         IVec4::new(self.x, self.w, self.x, self.z)
1098     }
1099 
1100     #[inline]
1101     #[must_use]
xwxw(self) -> IVec41102     fn xwxw(self) -> IVec4 {
1103         IVec4::new(self.x, self.w, self.x, self.w)
1104     }
1105 
1106     #[inline]
1107     #[must_use]
xwyx(self) -> IVec41108     fn xwyx(self) -> IVec4 {
1109         IVec4::new(self.x, self.w, self.y, self.x)
1110     }
1111 
1112     #[inline]
1113     #[must_use]
xwyy(self) -> IVec41114     fn xwyy(self) -> IVec4 {
1115         IVec4::new(self.x, self.w, self.y, self.y)
1116     }
1117 
1118     #[inline]
1119     #[must_use]
xwyz(self) -> IVec41120     fn xwyz(self) -> IVec4 {
1121         IVec4::new(self.x, self.w, self.y, self.z)
1122     }
1123 
1124     #[inline]
1125     #[must_use]
xwyw(self) -> IVec41126     fn xwyw(self) -> IVec4 {
1127         IVec4::new(self.x, self.w, self.y, self.w)
1128     }
1129 
1130     #[inline]
1131     #[must_use]
xwzx(self) -> IVec41132     fn xwzx(self) -> IVec4 {
1133         IVec4::new(self.x, self.w, self.z, self.x)
1134     }
1135 
1136     #[inline]
1137     #[must_use]
xwzy(self) -> IVec41138     fn xwzy(self) -> IVec4 {
1139         IVec4::new(self.x, self.w, self.z, self.y)
1140     }
1141 
1142     #[inline]
1143     #[must_use]
xwzz(self) -> IVec41144     fn xwzz(self) -> IVec4 {
1145         IVec4::new(self.x, self.w, self.z, self.z)
1146     }
1147 
1148     #[inline]
1149     #[must_use]
xwzw(self) -> IVec41150     fn xwzw(self) -> IVec4 {
1151         IVec4::new(self.x, self.w, self.z, self.w)
1152     }
1153 
1154     #[inline]
1155     #[must_use]
xwwx(self) -> IVec41156     fn xwwx(self) -> IVec4 {
1157         IVec4::new(self.x, self.w, self.w, self.x)
1158     }
1159 
1160     #[inline]
1161     #[must_use]
xwwy(self) -> IVec41162     fn xwwy(self) -> IVec4 {
1163         IVec4::new(self.x, self.w, self.w, self.y)
1164     }
1165 
1166     #[inline]
1167     #[must_use]
xwwz(self) -> IVec41168     fn xwwz(self) -> IVec4 {
1169         IVec4::new(self.x, self.w, self.w, self.z)
1170     }
1171 
1172     #[inline]
1173     #[must_use]
xwww(self) -> IVec41174     fn xwww(self) -> IVec4 {
1175         IVec4::new(self.x, self.w, self.w, self.w)
1176     }
1177 
1178     #[inline]
1179     #[must_use]
yxxx(self) -> IVec41180     fn yxxx(self) -> IVec4 {
1181         IVec4::new(self.y, self.x, self.x, self.x)
1182     }
1183 
1184     #[inline]
1185     #[must_use]
yxxy(self) -> IVec41186     fn yxxy(self) -> IVec4 {
1187         IVec4::new(self.y, self.x, self.x, self.y)
1188     }
1189 
1190     #[inline]
1191     #[must_use]
yxxz(self) -> IVec41192     fn yxxz(self) -> IVec4 {
1193         IVec4::new(self.y, self.x, self.x, self.z)
1194     }
1195 
1196     #[inline]
1197     #[must_use]
yxxw(self) -> IVec41198     fn yxxw(self) -> IVec4 {
1199         IVec4::new(self.y, self.x, self.x, self.w)
1200     }
1201 
1202     #[inline]
1203     #[must_use]
yxyx(self) -> IVec41204     fn yxyx(self) -> IVec4 {
1205         IVec4::new(self.y, self.x, self.y, self.x)
1206     }
1207 
1208     #[inline]
1209     #[must_use]
yxyy(self) -> IVec41210     fn yxyy(self) -> IVec4 {
1211         IVec4::new(self.y, self.x, self.y, self.y)
1212     }
1213 
1214     #[inline]
1215     #[must_use]
yxyz(self) -> IVec41216     fn yxyz(self) -> IVec4 {
1217         IVec4::new(self.y, self.x, self.y, self.z)
1218     }
1219 
1220     #[inline]
1221     #[must_use]
yxyw(self) -> IVec41222     fn yxyw(self) -> IVec4 {
1223         IVec4::new(self.y, self.x, self.y, self.w)
1224     }
1225 
1226     #[inline]
1227     #[must_use]
yxzx(self) -> IVec41228     fn yxzx(self) -> IVec4 {
1229         IVec4::new(self.y, self.x, self.z, self.x)
1230     }
1231 
1232     #[inline]
1233     #[must_use]
yxzy(self) -> IVec41234     fn yxzy(self) -> IVec4 {
1235         IVec4::new(self.y, self.x, self.z, self.y)
1236     }
1237 
1238     #[inline]
1239     #[must_use]
yxzz(self) -> IVec41240     fn yxzz(self) -> IVec4 {
1241         IVec4::new(self.y, self.x, self.z, self.z)
1242     }
1243 
1244     #[inline]
1245     #[must_use]
yxzw(self) -> IVec41246     fn yxzw(self) -> IVec4 {
1247         IVec4::new(self.y, self.x, self.z, self.w)
1248     }
1249 
1250     #[inline]
1251     #[must_use]
yxwx(self) -> IVec41252     fn yxwx(self) -> IVec4 {
1253         IVec4::new(self.y, self.x, self.w, self.x)
1254     }
1255 
1256     #[inline]
1257     #[must_use]
yxwy(self) -> IVec41258     fn yxwy(self) -> IVec4 {
1259         IVec4::new(self.y, self.x, self.w, self.y)
1260     }
1261 
1262     #[inline]
1263     #[must_use]
yxwz(self) -> IVec41264     fn yxwz(self) -> IVec4 {
1265         IVec4::new(self.y, self.x, self.w, self.z)
1266     }
1267 
1268     #[inline]
1269     #[must_use]
yxww(self) -> IVec41270     fn yxww(self) -> IVec4 {
1271         IVec4::new(self.y, self.x, self.w, self.w)
1272     }
1273 
1274     #[inline]
1275     #[must_use]
yyxx(self) -> IVec41276     fn yyxx(self) -> IVec4 {
1277         IVec4::new(self.y, self.y, self.x, self.x)
1278     }
1279 
1280     #[inline]
1281     #[must_use]
yyxy(self) -> IVec41282     fn yyxy(self) -> IVec4 {
1283         IVec4::new(self.y, self.y, self.x, self.y)
1284     }
1285 
1286     #[inline]
1287     #[must_use]
yyxz(self) -> IVec41288     fn yyxz(self) -> IVec4 {
1289         IVec4::new(self.y, self.y, self.x, self.z)
1290     }
1291 
1292     #[inline]
1293     #[must_use]
yyxw(self) -> IVec41294     fn yyxw(self) -> IVec4 {
1295         IVec4::new(self.y, self.y, self.x, self.w)
1296     }
1297 
1298     #[inline]
1299     #[must_use]
yyyx(self) -> IVec41300     fn yyyx(self) -> IVec4 {
1301         IVec4::new(self.y, self.y, self.y, self.x)
1302     }
1303 
1304     #[inline]
1305     #[must_use]
yyyy(self) -> IVec41306     fn yyyy(self) -> IVec4 {
1307         IVec4::new(self.y, self.y, self.y, self.y)
1308     }
1309 
1310     #[inline]
1311     #[must_use]
yyyz(self) -> IVec41312     fn yyyz(self) -> IVec4 {
1313         IVec4::new(self.y, self.y, self.y, self.z)
1314     }
1315 
1316     #[inline]
1317     #[must_use]
yyyw(self) -> IVec41318     fn yyyw(self) -> IVec4 {
1319         IVec4::new(self.y, self.y, self.y, self.w)
1320     }
1321 
1322     #[inline]
1323     #[must_use]
yyzx(self) -> IVec41324     fn yyzx(self) -> IVec4 {
1325         IVec4::new(self.y, self.y, self.z, self.x)
1326     }
1327 
1328     #[inline]
1329     #[must_use]
yyzy(self) -> IVec41330     fn yyzy(self) -> IVec4 {
1331         IVec4::new(self.y, self.y, self.z, self.y)
1332     }
1333 
1334     #[inline]
1335     #[must_use]
yyzz(self) -> IVec41336     fn yyzz(self) -> IVec4 {
1337         IVec4::new(self.y, self.y, self.z, self.z)
1338     }
1339 
1340     #[inline]
1341     #[must_use]
yyzw(self) -> IVec41342     fn yyzw(self) -> IVec4 {
1343         IVec4::new(self.y, self.y, self.z, self.w)
1344     }
1345 
1346     #[inline]
1347     #[must_use]
yywx(self) -> IVec41348     fn yywx(self) -> IVec4 {
1349         IVec4::new(self.y, self.y, self.w, self.x)
1350     }
1351 
1352     #[inline]
1353     #[must_use]
yywy(self) -> IVec41354     fn yywy(self) -> IVec4 {
1355         IVec4::new(self.y, self.y, self.w, self.y)
1356     }
1357 
1358     #[inline]
1359     #[must_use]
yywz(self) -> IVec41360     fn yywz(self) -> IVec4 {
1361         IVec4::new(self.y, self.y, self.w, self.z)
1362     }
1363 
1364     #[inline]
1365     #[must_use]
yyww(self) -> IVec41366     fn yyww(self) -> IVec4 {
1367         IVec4::new(self.y, self.y, self.w, self.w)
1368     }
1369 
1370     #[inline]
1371     #[must_use]
yzxx(self) -> IVec41372     fn yzxx(self) -> IVec4 {
1373         IVec4::new(self.y, self.z, self.x, self.x)
1374     }
1375 
1376     #[inline]
1377     #[must_use]
yzxy(self) -> IVec41378     fn yzxy(self) -> IVec4 {
1379         IVec4::new(self.y, self.z, self.x, self.y)
1380     }
1381 
1382     #[inline]
1383     #[must_use]
yzxz(self) -> IVec41384     fn yzxz(self) -> IVec4 {
1385         IVec4::new(self.y, self.z, self.x, self.z)
1386     }
1387 
1388     #[inline]
1389     #[must_use]
yzxw(self) -> IVec41390     fn yzxw(self) -> IVec4 {
1391         IVec4::new(self.y, self.z, self.x, self.w)
1392     }
1393 
1394     #[inline]
1395     #[must_use]
yzyx(self) -> IVec41396     fn yzyx(self) -> IVec4 {
1397         IVec4::new(self.y, self.z, self.y, self.x)
1398     }
1399 
1400     #[inline]
1401     #[must_use]
yzyy(self) -> IVec41402     fn yzyy(self) -> IVec4 {
1403         IVec4::new(self.y, self.z, self.y, self.y)
1404     }
1405 
1406     #[inline]
1407     #[must_use]
yzyz(self) -> IVec41408     fn yzyz(self) -> IVec4 {
1409         IVec4::new(self.y, self.z, self.y, self.z)
1410     }
1411 
1412     #[inline]
1413     #[must_use]
yzyw(self) -> IVec41414     fn yzyw(self) -> IVec4 {
1415         IVec4::new(self.y, self.z, self.y, self.w)
1416     }
1417 
1418     #[inline]
1419     #[must_use]
yzzx(self) -> IVec41420     fn yzzx(self) -> IVec4 {
1421         IVec4::new(self.y, self.z, self.z, self.x)
1422     }
1423 
1424     #[inline]
1425     #[must_use]
yzzy(self) -> IVec41426     fn yzzy(self) -> IVec4 {
1427         IVec4::new(self.y, self.z, self.z, self.y)
1428     }
1429 
1430     #[inline]
1431     #[must_use]
yzzz(self) -> IVec41432     fn yzzz(self) -> IVec4 {
1433         IVec4::new(self.y, self.z, self.z, self.z)
1434     }
1435 
1436     #[inline]
1437     #[must_use]
yzzw(self) -> IVec41438     fn yzzw(self) -> IVec4 {
1439         IVec4::new(self.y, self.z, self.z, self.w)
1440     }
1441 
1442     #[inline]
1443     #[must_use]
yzwx(self) -> IVec41444     fn yzwx(self) -> IVec4 {
1445         IVec4::new(self.y, self.z, self.w, self.x)
1446     }
1447 
1448     #[inline]
1449     #[must_use]
yzwy(self) -> IVec41450     fn yzwy(self) -> IVec4 {
1451         IVec4::new(self.y, self.z, self.w, self.y)
1452     }
1453 
1454     #[inline]
1455     #[must_use]
yzwz(self) -> IVec41456     fn yzwz(self) -> IVec4 {
1457         IVec4::new(self.y, self.z, self.w, self.z)
1458     }
1459 
1460     #[inline]
1461     #[must_use]
yzww(self) -> IVec41462     fn yzww(self) -> IVec4 {
1463         IVec4::new(self.y, self.z, self.w, self.w)
1464     }
1465 
1466     #[inline]
1467     #[must_use]
ywxx(self) -> IVec41468     fn ywxx(self) -> IVec4 {
1469         IVec4::new(self.y, self.w, self.x, self.x)
1470     }
1471 
1472     #[inline]
1473     #[must_use]
ywxy(self) -> IVec41474     fn ywxy(self) -> IVec4 {
1475         IVec4::new(self.y, self.w, self.x, self.y)
1476     }
1477 
1478     #[inline]
1479     #[must_use]
ywxz(self) -> IVec41480     fn ywxz(self) -> IVec4 {
1481         IVec4::new(self.y, self.w, self.x, self.z)
1482     }
1483 
1484     #[inline]
1485     #[must_use]
ywxw(self) -> IVec41486     fn ywxw(self) -> IVec4 {
1487         IVec4::new(self.y, self.w, self.x, self.w)
1488     }
1489 
1490     #[inline]
1491     #[must_use]
ywyx(self) -> IVec41492     fn ywyx(self) -> IVec4 {
1493         IVec4::new(self.y, self.w, self.y, self.x)
1494     }
1495 
1496     #[inline]
1497     #[must_use]
ywyy(self) -> IVec41498     fn ywyy(self) -> IVec4 {
1499         IVec4::new(self.y, self.w, self.y, self.y)
1500     }
1501 
1502     #[inline]
1503     #[must_use]
ywyz(self) -> IVec41504     fn ywyz(self) -> IVec4 {
1505         IVec4::new(self.y, self.w, self.y, self.z)
1506     }
1507 
1508     #[inline]
1509     #[must_use]
ywyw(self) -> IVec41510     fn ywyw(self) -> IVec4 {
1511         IVec4::new(self.y, self.w, self.y, self.w)
1512     }
1513 
1514     #[inline]
1515     #[must_use]
ywzx(self) -> IVec41516     fn ywzx(self) -> IVec4 {
1517         IVec4::new(self.y, self.w, self.z, self.x)
1518     }
1519 
1520     #[inline]
1521     #[must_use]
ywzy(self) -> IVec41522     fn ywzy(self) -> IVec4 {
1523         IVec4::new(self.y, self.w, self.z, self.y)
1524     }
1525 
1526     #[inline]
1527     #[must_use]
ywzz(self) -> IVec41528     fn ywzz(self) -> IVec4 {
1529         IVec4::new(self.y, self.w, self.z, self.z)
1530     }
1531 
1532     #[inline]
1533     #[must_use]
ywzw(self) -> IVec41534     fn ywzw(self) -> IVec4 {
1535         IVec4::new(self.y, self.w, self.z, self.w)
1536     }
1537 
1538     #[inline]
1539     #[must_use]
ywwx(self) -> IVec41540     fn ywwx(self) -> IVec4 {
1541         IVec4::new(self.y, self.w, self.w, self.x)
1542     }
1543 
1544     #[inline]
1545     #[must_use]
ywwy(self) -> IVec41546     fn ywwy(self) -> IVec4 {
1547         IVec4::new(self.y, self.w, self.w, self.y)
1548     }
1549 
1550     #[inline]
1551     #[must_use]
ywwz(self) -> IVec41552     fn ywwz(self) -> IVec4 {
1553         IVec4::new(self.y, self.w, self.w, self.z)
1554     }
1555 
1556     #[inline]
1557     #[must_use]
ywww(self) -> IVec41558     fn ywww(self) -> IVec4 {
1559         IVec4::new(self.y, self.w, self.w, self.w)
1560     }
1561 
1562     #[inline]
1563     #[must_use]
zxxx(self) -> IVec41564     fn zxxx(self) -> IVec4 {
1565         IVec4::new(self.z, self.x, self.x, self.x)
1566     }
1567 
1568     #[inline]
1569     #[must_use]
zxxy(self) -> IVec41570     fn zxxy(self) -> IVec4 {
1571         IVec4::new(self.z, self.x, self.x, self.y)
1572     }
1573 
1574     #[inline]
1575     #[must_use]
zxxz(self) -> IVec41576     fn zxxz(self) -> IVec4 {
1577         IVec4::new(self.z, self.x, self.x, self.z)
1578     }
1579 
1580     #[inline]
1581     #[must_use]
zxxw(self) -> IVec41582     fn zxxw(self) -> IVec4 {
1583         IVec4::new(self.z, self.x, self.x, self.w)
1584     }
1585 
1586     #[inline]
1587     #[must_use]
zxyx(self) -> IVec41588     fn zxyx(self) -> IVec4 {
1589         IVec4::new(self.z, self.x, self.y, self.x)
1590     }
1591 
1592     #[inline]
1593     #[must_use]
zxyy(self) -> IVec41594     fn zxyy(self) -> IVec4 {
1595         IVec4::new(self.z, self.x, self.y, self.y)
1596     }
1597 
1598     #[inline]
1599     #[must_use]
zxyz(self) -> IVec41600     fn zxyz(self) -> IVec4 {
1601         IVec4::new(self.z, self.x, self.y, self.z)
1602     }
1603 
1604     #[inline]
1605     #[must_use]
zxyw(self) -> IVec41606     fn zxyw(self) -> IVec4 {
1607         IVec4::new(self.z, self.x, self.y, self.w)
1608     }
1609 
1610     #[inline]
1611     #[must_use]
zxzx(self) -> IVec41612     fn zxzx(self) -> IVec4 {
1613         IVec4::new(self.z, self.x, self.z, self.x)
1614     }
1615 
1616     #[inline]
1617     #[must_use]
zxzy(self) -> IVec41618     fn zxzy(self) -> IVec4 {
1619         IVec4::new(self.z, self.x, self.z, self.y)
1620     }
1621 
1622     #[inline]
1623     #[must_use]
zxzz(self) -> IVec41624     fn zxzz(self) -> IVec4 {
1625         IVec4::new(self.z, self.x, self.z, self.z)
1626     }
1627 
1628     #[inline]
1629     #[must_use]
zxzw(self) -> IVec41630     fn zxzw(self) -> IVec4 {
1631         IVec4::new(self.z, self.x, self.z, self.w)
1632     }
1633 
1634     #[inline]
1635     #[must_use]
zxwx(self) -> IVec41636     fn zxwx(self) -> IVec4 {
1637         IVec4::new(self.z, self.x, self.w, self.x)
1638     }
1639 
1640     #[inline]
1641     #[must_use]
zxwy(self) -> IVec41642     fn zxwy(self) -> IVec4 {
1643         IVec4::new(self.z, self.x, self.w, self.y)
1644     }
1645 
1646     #[inline]
1647     #[must_use]
zxwz(self) -> IVec41648     fn zxwz(self) -> IVec4 {
1649         IVec4::new(self.z, self.x, self.w, self.z)
1650     }
1651 
1652     #[inline]
1653     #[must_use]
zxww(self) -> IVec41654     fn zxww(self) -> IVec4 {
1655         IVec4::new(self.z, self.x, self.w, self.w)
1656     }
1657 
1658     #[inline]
1659     #[must_use]
zyxx(self) -> IVec41660     fn zyxx(self) -> IVec4 {
1661         IVec4::new(self.z, self.y, self.x, self.x)
1662     }
1663 
1664     #[inline]
1665     #[must_use]
zyxy(self) -> IVec41666     fn zyxy(self) -> IVec4 {
1667         IVec4::new(self.z, self.y, self.x, self.y)
1668     }
1669 
1670     #[inline]
1671     #[must_use]
zyxz(self) -> IVec41672     fn zyxz(self) -> IVec4 {
1673         IVec4::new(self.z, self.y, self.x, self.z)
1674     }
1675 
1676     #[inline]
1677     #[must_use]
zyxw(self) -> IVec41678     fn zyxw(self) -> IVec4 {
1679         IVec4::new(self.z, self.y, self.x, self.w)
1680     }
1681 
1682     #[inline]
1683     #[must_use]
zyyx(self) -> IVec41684     fn zyyx(self) -> IVec4 {
1685         IVec4::new(self.z, self.y, self.y, self.x)
1686     }
1687 
1688     #[inline]
1689     #[must_use]
zyyy(self) -> IVec41690     fn zyyy(self) -> IVec4 {
1691         IVec4::new(self.z, self.y, self.y, self.y)
1692     }
1693 
1694     #[inline]
1695     #[must_use]
zyyz(self) -> IVec41696     fn zyyz(self) -> IVec4 {
1697         IVec4::new(self.z, self.y, self.y, self.z)
1698     }
1699 
1700     #[inline]
1701     #[must_use]
zyyw(self) -> IVec41702     fn zyyw(self) -> IVec4 {
1703         IVec4::new(self.z, self.y, self.y, self.w)
1704     }
1705 
1706     #[inline]
1707     #[must_use]
zyzx(self) -> IVec41708     fn zyzx(self) -> IVec4 {
1709         IVec4::new(self.z, self.y, self.z, self.x)
1710     }
1711 
1712     #[inline]
1713     #[must_use]
zyzy(self) -> IVec41714     fn zyzy(self) -> IVec4 {
1715         IVec4::new(self.z, self.y, self.z, self.y)
1716     }
1717 
1718     #[inline]
1719     #[must_use]
zyzz(self) -> IVec41720     fn zyzz(self) -> IVec4 {
1721         IVec4::new(self.z, self.y, self.z, self.z)
1722     }
1723 
1724     #[inline]
1725     #[must_use]
zyzw(self) -> IVec41726     fn zyzw(self) -> IVec4 {
1727         IVec4::new(self.z, self.y, self.z, self.w)
1728     }
1729 
1730     #[inline]
1731     #[must_use]
zywx(self) -> IVec41732     fn zywx(self) -> IVec4 {
1733         IVec4::new(self.z, self.y, self.w, self.x)
1734     }
1735 
1736     #[inline]
1737     #[must_use]
zywy(self) -> IVec41738     fn zywy(self) -> IVec4 {
1739         IVec4::new(self.z, self.y, self.w, self.y)
1740     }
1741 
1742     #[inline]
1743     #[must_use]
zywz(self) -> IVec41744     fn zywz(self) -> IVec4 {
1745         IVec4::new(self.z, self.y, self.w, self.z)
1746     }
1747 
1748     #[inline]
1749     #[must_use]
zyww(self) -> IVec41750     fn zyww(self) -> IVec4 {
1751         IVec4::new(self.z, self.y, self.w, self.w)
1752     }
1753 
1754     #[inline]
1755     #[must_use]
zzxx(self) -> IVec41756     fn zzxx(self) -> IVec4 {
1757         IVec4::new(self.z, self.z, self.x, self.x)
1758     }
1759 
1760     #[inline]
1761     #[must_use]
zzxy(self) -> IVec41762     fn zzxy(self) -> IVec4 {
1763         IVec4::new(self.z, self.z, self.x, self.y)
1764     }
1765 
1766     #[inline]
1767     #[must_use]
zzxz(self) -> IVec41768     fn zzxz(self) -> IVec4 {
1769         IVec4::new(self.z, self.z, self.x, self.z)
1770     }
1771 
1772     #[inline]
1773     #[must_use]
zzxw(self) -> IVec41774     fn zzxw(self) -> IVec4 {
1775         IVec4::new(self.z, self.z, self.x, self.w)
1776     }
1777 
1778     #[inline]
1779     #[must_use]
zzyx(self) -> IVec41780     fn zzyx(self) -> IVec4 {
1781         IVec4::new(self.z, self.z, self.y, self.x)
1782     }
1783 
1784     #[inline]
1785     #[must_use]
zzyy(self) -> IVec41786     fn zzyy(self) -> IVec4 {
1787         IVec4::new(self.z, self.z, self.y, self.y)
1788     }
1789 
1790     #[inline]
1791     #[must_use]
zzyz(self) -> IVec41792     fn zzyz(self) -> IVec4 {
1793         IVec4::new(self.z, self.z, self.y, self.z)
1794     }
1795 
1796     #[inline]
1797     #[must_use]
zzyw(self) -> IVec41798     fn zzyw(self) -> IVec4 {
1799         IVec4::new(self.z, self.z, self.y, self.w)
1800     }
1801 
1802     #[inline]
1803     #[must_use]
zzzx(self) -> IVec41804     fn zzzx(self) -> IVec4 {
1805         IVec4::new(self.z, self.z, self.z, self.x)
1806     }
1807 
1808     #[inline]
1809     #[must_use]
zzzy(self) -> IVec41810     fn zzzy(self) -> IVec4 {
1811         IVec4::new(self.z, self.z, self.z, self.y)
1812     }
1813 
1814     #[inline]
1815     #[must_use]
zzzz(self) -> IVec41816     fn zzzz(self) -> IVec4 {
1817         IVec4::new(self.z, self.z, self.z, self.z)
1818     }
1819 
1820     #[inline]
1821     #[must_use]
zzzw(self) -> IVec41822     fn zzzw(self) -> IVec4 {
1823         IVec4::new(self.z, self.z, self.z, self.w)
1824     }
1825 
1826     #[inline]
1827     #[must_use]
zzwx(self) -> IVec41828     fn zzwx(self) -> IVec4 {
1829         IVec4::new(self.z, self.z, self.w, self.x)
1830     }
1831 
1832     #[inline]
1833     #[must_use]
zzwy(self) -> IVec41834     fn zzwy(self) -> IVec4 {
1835         IVec4::new(self.z, self.z, self.w, self.y)
1836     }
1837 
1838     #[inline]
1839     #[must_use]
zzwz(self) -> IVec41840     fn zzwz(self) -> IVec4 {
1841         IVec4::new(self.z, self.z, self.w, self.z)
1842     }
1843 
1844     #[inline]
1845     #[must_use]
zzww(self) -> IVec41846     fn zzww(self) -> IVec4 {
1847         IVec4::new(self.z, self.z, self.w, self.w)
1848     }
1849 
1850     #[inline]
1851     #[must_use]
zwxx(self) -> IVec41852     fn zwxx(self) -> IVec4 {
1853         IVec4::new(self.z, self.w, self.x, self.x)
1854     }
1855 
1856     #[inline]
1857     #[must_use]
zwxy(self) -> IVec41858     fn zwxy(self) -> IVec4 {
1859         IVec4::new(self.z, self.w, self.x, self.y)
1860     }
1861 
1862     #[inline]
1863     #[must_use]
zwxz(self) -> IVec41864     fn zwxz(self) -> IVec4 {
1865         IVec4::new(self.z, self.w, self.x, self.z)
1866     }
1867 
1868     #[inline]
1869     #[must_use]
zwxw(self) -> IVec41870     fn zwxw(self) -> IVec4 {
1871         IVec4::new(self.z, self.w, self.x, self.w)
1872     }
1873 
1874     #[inline]
1875     #[must_use]
zwyx(self) -> IVec41876     fn zwyx(self) -> IVec4 {
1877         IVec4::new(self.z, self.w, self.y, self.x)
1878     }
1879 
1880     #[inline]
1881     #[must_use]
zwyy(self) -> IVec41882     fn zwyy(self) -> IVec4 {
1883         IVec4::new(self.z, self.w, self.y, self.y)
1884     }
1885 
1886     #[inline]
1887     #[must_use]
zwyz(self) -> IVec41888     fn zwyz(self) -> IVec4 {
1889         IVec4::new(self.z, self.w, self.y, self.z)
1890     }
1891 
1892     #[inline]
1893     #[must_use]
zwyw(self) -> IVec41894     fn zwyw(self) -> IVec4 {
1895         IVec4::new(self.z, self.w, self.y, self.w)
1896     }
1897 
1898     #[inline]
1899     #[must_use]
zwzx(self) -> IVec41900     fn zwzx(self) -> IVec4 {
1901         IVec4::new(self.z, self.w, self.z, self.x)
1902     }
1903 
1904     #[inline]
1905     #[must_use]
zwzy(self) -> IVec41906     fn zwzy(self) -> IVec4 {
1907         IVec4::new(self.z, self.w, self.z, self.y)
1908     }
1909 
1910     #[inline]
1911     #[must_use]
zwzz(self) -> IVec41912     fn zwzz(self) -> IVec4 {
1913         IVec4::new(self.z, self.w, self.z, self.z)
1914     }
1915 
1916     #[inline]
1917     #[must_use]
zwzw(self) -> IVec41918     fn zwzw(self) -> IVec4 {
1919         IVec4::new(self.z, self.w, self.z, self.w)
1920     }
1921 
1922     #[inline]
1923     #[must_use]
zwwx(self) -> IVec41924     fn zwwx(self) -> IVec4 {
1925         IVec4::new(self.z, self.w, self.w, self.x)
1926     }
1927 
1928     #[inline]
1929     #[must_use]
zwwy(self) -> IVec41930     fn zwwy(self) -> IVec4 {
1931         IVec4::new(self.z, self.w, self.w, self.y)
1932     }
1933 
1934     #[inline]
1935     #[must_use]
zwwz(self) -> IVec41936     fn zwwz(self) -> IVec4 {
1937         IVec4::new(self.z, self.w, self.w, self.z)
1938     }
1939 
1940     #[inline]
1941     #[must_use]
zwww(self) -> IVec41942     fn zwww(self) -> IVec4 {
1943         IVec4::new(self.z, self.w, self.w, self.w)
1944     }
1945 
1946     #[inline]
1947     #[must_use]
wxxx(self) -> IVec41948     fn wxxx(self) -> IVec4 {
1949         IVec4::new(self.w, self.x, self.x, self.x)
1950     }
1951 
1952     #[inline]
1953     #[must_use]
wxxy(self) -> IVec41954     fn wxxy(self) -> IVec4 {
1955         IVec4::new(self.w, self.x, self.x, self.y)
1956     }
1957 
1958     #[inline]
1959     #[must_use]
wxxz(self) -> IVec41960     fn wxxz(self) -> IVec4 {
1961         IVec4::new(self.w, self.x, self.x, self.z)
1962     }
1963 
1964     #[inline]
1965     #[must_use]
wxxw(self) -> IVec41966     fn wxxw(self) -> IVec4 {
1967         IVec4::new(self.w, self.x, self.x, self.w)
1968     }
1969 
1970     #[inline]
1971     #[must_use]
wxyx(self) -> IVec41972     fn wxyx(self) -> IVec4 {
1973         IVec4::new(self.w, self.x, self.y, self.x)
1974     }
1975 
1976     #[inline]
1977     #[must_use]
wxyy(self) -> IVec41978     fn wxyy(self) -> IVec4 {
1979         IVec4::new(self.w, self.x, self.y, self.y)
1980     }
1981 
1982     #[inline]
1983     #[must_use]
wxyz(self) -> IVec41984     fn wxyz(self) -> IVec4 {
1985         IVec4::new(self.w, self.x, self.y, self.z)
1986     }
1987 
1988     #[inline]
1989     #[must_use]
wxyw(self) -> IVec41990     fn wxyw(self) -> IVec4 {
1991         IVec4::new(self.w, self.x, self.y, self.w)
1992     }
1993 
1994     #[inline]
1995     #[must_use]
wxzx(self) -> IVec41996     fn wxzx(self) -> IVec4 {
1997         IVec4::new(self.w, self.x, self.z, self.x)
1998     }
1999 
2000     #[inline]
2001     #[must_use]
wxzy(self) -> IVec42002     fn wxzy(self) -> IVec4 {
2003         IVec4::new(self.w, self.x, self.z, self.y)
2004     }
2005 
2006     #[inline]
2007     #[must_use]
wxzz(self) -> IVec42008     fn wxzz(self) -> IVec4 {
2009         IVec4::new(self.w, self.x, self.z, self.z)
2010     }
2011 
2012     #[inline]
2013     #[must_use]
wxzw(self) -> IVec42014     fn wxzw(self) -> IVec4 {
2015         IVec4::new(self.w, self.x, self.z, self.w)
2016     }
2017 
2018     #[inline]
2019     #[must_use]
wxwx(self) -> IVec42020     fn wxwx(self) -> IVec4 {
2021         IVec4::new(self.w, self.x, self.w, self.x)
2022     }
2023 
2024     #[inline]
2025     #[must_use]
wxwy(self) -> IVec42026     fn wxwy(self) -> IVec4 {
2027         IVec4::new(self.w, self.x, self.w, self.y)
2028     }
2029 
2030     #[inline]
2031     #[must_use]
wxwz(self) -> IVec42032     fn wxwz(self) -> IVec4 {
2033         IVec4::new(self.w, self.x, self.w, self.z)
2034     }
2035 
2036     #[inline]
2037     #[must_use]
wxww(self) -> IVec42038     fn wxww(self) -> IVec4 {
2039         IVec4::new(self.w, self.x, self.w, self.w)
2040     }
2041 
2042     #[inline]
2043     #[must_use]
wyxx(self) -> IVec42044     fn wyxx(self) -> IVec4 {
2045         IVec4::new(self.w, self.y, self.x, self.x)
2046     }
2047 
2048     #[inline]
2049     #[must_use]
wyxy(self) -> IVec42050     fn wyxy(self) -> IVec4 {
2051         IVec4::new(self.w, self.y, self.x, self.y)
2052     }
2053 
2054     #[inline]
2055     #[must_use]
wyxz(self) -> IVec42056     fn wyxz(self) -> IVec4 {
2057         IVec4::new(self.w, self.y, self.x, self.z)
2058     }
2059 
2060     #[inline]
2061     #[must_use]
wyxw(self) -> IVec42062     fn wyxw(self) -> IVec4 {
2063         IVec4::new(self.w, self.y, self.x, self.w)
2064     }
2065 
2066     #[inline]
2067     #[must_use]
wyyx(self) -> IVec42068     fn wyyx(self) -> IVec4 {
2069         IVec4::new(self.w, self.y, self.y, self.x)
2070     }
2071 
2072     #[inline]
2073     #[must_use]
wyyy(self) -> IVec42074     fn wyyy(self) -> IVec4 {
2075         IVec4::new(self.w, self.y, self.y, self.y)
2076     }
2077 
2078     #[inline]
2079     #[must_use]
wyyz(self) -> IVec42080     fn wyyz(self) -> IVec4 {
2081         IVec4::new(self.w, self.y, self.y, self.z)
2082     }
2083 
2084     #[inline]
2085     #[must_use]
wyyw(self) -> IVec42086     fn wyyw(self) -> IVec4 {
2087         IVec4::new(self.w, self.y, self.y, self.w)
2088     }
2089 
2090     #[inline]
2091     #[must_use]
wyzx(self) -> IVec42092     fn wyzx(self) -> IVec4 {
2093         IVec4::new(self.w, self.y, self.z, self.x)
2094     }
2095 
2096     #[inline]
2097     #[must_use]
wyzy(self) -> IVec42098     fn wyzy(self) -> IVec4 {
2099         IVec4::new(self.w, self.y, self.z, self.y)
2100     }
2101 
2102     #[inline]
2103     #[must_use]
wyzz(self) -> IVec42104     fn wyzz(self) -> IVec4 {
2105         IVec4::new(self.w, self.y, self.z, self.z)
2106     }
2107 
2108     #[inline]
2109     #[must_use]
wyzw(self) -> IVec42110     fn wyzw(self) -> IVec4 {
2111         IVec4::new(self.w, self.y, self.z, self.w)
2112     }
2113 
2114     #[inline]
2115     #[must_use]
wywx(self) -> IVec42116     fn wywx(self) -> IVec4 {
2117         IVec4::new(self.w, self.y, self.w, self.x)
2118     }
2119 
2120     #[inline]
2121     #[must_use]
wywy(self) -> IVec42122     fn wywy(self) -> IVec4 {
2123         IVec4::new(self.w, self.y, self.w, self.y)
2124     }
2125 
2126     #[inline]
2127     #[must_use]
wywz(self) -> IVec42128     fn wywz(self) -> IVec4 {
2129         IVec4::new(self.w, self.y, self.w, self.z)
2130     }
2131 
2132     #[inline]
2133     #[must_use]
wyww(self) -> IVec42134     fn wyww(self) -> IVec4 {
2135         IVec4::new(self.w, self.y, self.w, self.w)
2136     }
2137 
2138     #[inline]
2139     #[must_use]
wzxx(self) -> IVec42140     fn wzxx(self) -> IVec4 {
2141         IVec4::new(self.w, self.z, self.x, self.x)
2142     }
2143 
2144     #[inline]
2145     #[must_use]
wzxy(self) -> IVec42146     fn wzxy(self) -> IVec4 {
2147         IVec4::new(self.w, self.z, self.x, self.y)
2148     }
2149 
2150     #[inline]
2151     #[must_use]
wzxz(self) -> IVec42152     fn wzxz(self) -> IVec4 {
2153         IVec4::new(self.w, self.z, self.x, self.z)
2154     }
2155 
2156     #[inline]
2157     #[must_use]
wzxw(self) -> IVec42158     fn wzxw(self) -> IVec4 {
2159         IVec4::new(self.w, self.z, self.x, self.w)
2160     }
2161 
2162     #[inline]
2163     #[must_use]
wzyx(self) -> IVec42164     fn wzyx(self) -> IVec4 {
2165         IVec4::new(self.w, self.z, self.y, self.x)
2166     }
2167 
2168     #[inline]
2169     #[must_use]
wzyy(self) -> IVec42170     fn wzyy(self) -> IVec4 {
2171         IVec4::new(self.w, self.z, self.y, self.y)
2172     }
2173 
2174     #[inline]
2175     #[must_use]
wzyz(self) -> IVec42176     fn wzyz(self) -> IVec4 {
2177         IVec4::new(self.w, self.z, self.y, self.z)
2178     }
2179 
2180     #[inline]
2181     #[must_use]
wzyw(self) -> IVec42182     fn wzyw(self) -> IVec4 {
2183         IVec4::new(self.w, self.z, self.y, self.w)
2184     }
2185 
2186     #[inline]
2187     #[must_use]
wzzx(self) -> IVec42188     fn wzzx(self) -> IVec4 {
2189         IVec4::new(self.w, self.z, self.z, self.x)
2190     }
2191 
2192     #[inline]
2193     #[must_use]
wzzy(self) -> IVec42194     fn wzzy(self) -> IVec4 {
2195         IVec4::new(self.w, self.z, self.z, self.y)
2196     }
2197 
2198     #[inline]
2199     #[must_use]
wzzz(self) -> IVec42200     fn wzzz(self) -> IVec4 {
2201         IVec4::new(self.w, self.z, self.z, self.z)
2202     }
2203 
2204     #[inline]
2205     #[must_use]
wzzw(self) -> IVec42206     fn wzzw(self) -> IVec4 {
2207         IVec4::new(self.w, self.z, self.z, self.w)
2208     }
2209 
2210     #[inline]
2211     #[must_use]
wzwx(self) -> IVec42212     fn wzwx(self) -> IVec4 {
2213         IVec4::new(self.w, self.z, self.w, self.x)
2214     }
2215 
2216     #[inline]
2217     #[must_use]
wzwy(self) -> IVec42218     fn wzwy(self) -> IVec4 {
2219         IVec4::new(self.w, self.z, self.w, self.y)
2220     }
2221 
2222     #[inline]
2223     #[must_use]
wzwz(self) -> IVec42224     fn wzwz(self) -> IVec4 {
2225         IVec4::new(self.w, self.z, self.w, self.z)
2226     }
2227 
2228     #[inline]
2229     #[must_use]
wzww(self) -> IVec42230     fn wzww(self) -> IVec4 {
2231         IVec4::new(self.w, self.z, self.w, self.w)
2232     }
2233 
2234     #[inline]
2235     #[must_use]
wwxx(self) -> IVec42236     fn wwxx(self) -> IVec4 {
2237         IVec4::new(self.w, self.w, self.x, self.x)
2238     }
2239 
2240     #[inline]
2241     #[must_use]
wwxy(self) -> IVec42242     fn wwxy(self) -> IVec4 {
2243         IVec4::new(self.w, self.w, self.x, self.y)
2244     }
2245 
2246     #[inline]
2247     #[must_use]
wwxz(self) -> IVec42248     fn wwxz(self) -> IVec4 {
2249         IVec4::new(self.w, self.w, self.x, self.z)
2250     }
2251 
2252     #[inline]
2253     #[must_use]
wwxw(self) -> IVec42254     fn wwxw(self) -> IVec4 {
2255         IVec4::new(self.w, self.w, self.x, self.w)
2256     }
2257 
2258     #[inline]
2259     #[must_use]
wwyx(self) -> IVec42260     fn wwyx(self) -> IVec4 {
2261         IVec4::new(self.w, self.w, self.y, self.x)
2262     }
2263 
2264     #[inline]
2265     #[must_use]
wwyy(self) -> IVec42266     fn wwyy(self) -> IVec4 {
2267         IVec4::new(self.w, self.w, self.y, self.y)
2268     }
2269 
2270     #[inline]
2271     #[must_use]
wwyz(self) -> IVec42272     fn wwyz(self) -> IVec4 {
2273         IVec4::new(self.w, self.w, self.y, self.z)
2274     }
2275 
2276     #[inline]
2277     #[must_use]
wwyw(self) -> IVec42278     fn wwyw(self) -> IVec4 {
2279         IVec4::new(self.w, self.w, self.y, self.w)
2280     }
2281 
2282     #[inline]
2283     #[must_use]
wwzx(self) -> IVec42284     fn wwzx(self) -> IVec4 {
2285         IVec4::new(self.w, self.w, self.z, self.x)
2286     }
2287 
2288     #[inline]
2289     #[must_use]
wwzy(self) -> IVec42290     fn wwzy(self) -> IVec4 {
2291         IVec4::new(self.w, self.w, self.z, self.y)
2292     }
2293 
2294     #[inline]
2295     #[must_use]
wwzz(self) -> IVec42296     fn wwzz(self) -> IVec4 {
2297         IVec4::new(self.w, self.w, self.z, self.z)
2298     }
2299 
2300     #[inline]
2301     #[must_use]
wwzw(self) -> IVec42302     fn wwzw(self) -> IVec4 {
2303         IVec4::new(self.w, self.w, self.z, self.w)
2304     }
2305 
2306     #[inline]
2307     #[must_use]
wwwx(self) -> IVec42308     fn wwwx(self) -> IVec4 {
2309         IVec4::new(self.w, self.w, self.w, self.x)
2310     }
2311 
2312     #[inline]
2313     #[must_use]
wwwy(self) -> IVec42314     fn wwwy(self) -> IVec4 {
2315         IVec4::new(self.w, self.w, self.w, self.y)
2316     }
2317 
2318     #[inline]
2319     #[must_use]
wwwz(self) -> IVec42320     fn wwwz(self) -> IVec4 {
2321         IVec4::new(self.w, self.w, self.w, self.z)
2322     }
2323 
2324     #[inline]
2325     #[must_use]
wwww(self) -> IVec42326     fn wwww(self) -> IVec4 {
2327         IVec4::new(self.w, self.w, self.w, self.w)
2328     }
2329 }
2330