1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file.
2 
3 use crate::{IVec2, IVec3, IVec4, Vec3Swizzles};
4 
5 impl Vec3Swizzles for IVec3 {
6     type Vec2 = IVec2;
7 
8     type Vec4 = IVec4;
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]
yx(self) -> IVec239     fn yx(self) -> IVec2 {
40         IVec2 {
41             x: self.y,
42             y: self.x,
43         }
44     }
45 
46     #[inline]
47     #[must_use]
yy(self) -> IVec248     fn yy(self) -> IVec2 {
49         IVec2 {
50             x: self.y,
51             y: self.y,
52         }
53     }
54 
55     #[inline]
56     #[must_use]
yz(self) -> IVec257     fn yz(self) -> IVec2 {
58         IVec2 {
59             x: self.y,
60             y: self.z,
61         }
62     }
63 
64     #[inline]
65     #[must_use]
zx(self) -> IVec266     fn zx(self) -> IVec2 {
67         IVec2 {
68             x: self.z,
69             y: self.x,
70         }
71     }
72 
73     #[inline]
74     #[must_use]
zy(self) -> IVec275     fn zy(self) -> IVec2 {
76         IVec2 {
77             x: self.z,
78             y: self.y,
79         }
80     }
81 
82     #[inline]
83     #[must_use]
zz(self) -> IVec284     fn zz(self) -> IVec2 {
85         IVec2 {
86             x: self.z,
87             y: self.z,
88         }
89     }
90 
91     #[inline]
92     #[must_use]
xxx(self) -> IVec393     fn xxx(self) -> IVec3 {
94         IVec3 {
95             x: self.x,
96             y: self.x,
97             z: self.x,
98         }
99     }
100 
101     #[inline]
102     #[must_use]
xxy(self) -> IVec3103     fn xxy(self) -> IVec3 {
104         IVec3 {
105             x: self.x,
106             y: self.x,
107             z: self.y,
108         }
109     }
110 
111     #[inline]
112     #[must_use]
xxz(self) -> IVec3113     fn xxz(self) -> IVec3 {
114         IVec3 {
115             x: self.x,
116             y: self.x,
117             z: self.z,
118         }
119     }
120 
121     #[inline]
122     #[must_use]
xyx(self) -> IVec3123     fn xyx(self) -> IVec3 {
124         IVec3 {
125             x: self.x,
126             y: self.y,
127             z: self.x,
128         }
129     }
130 
131     #[inline]
132     #[must_use]
xyy(self) -> IVec3133     fn xyy(self) -> IVec3 {
134         IVec3 {
135             x: self.x,
136             y: self.y,
137             z: self.y,
138         }
139     }
140 
141     #[inline]
142     #[must_use]
xyz(self) -> IVec3143     fn xyz(self) -> IVec3 {
144         IVec3 {
145             x: self.x,
146             y: self.y,
147             z: self.z,
148         }
149     }
150 
151     #[inline]
152     #[must_use]
xzx(self) -> IVec3153     fn xzx(self) -> IVec3 {
154         IVec3 {
155             x: self.x,
156             y: self.z,
157             z: self.x,
158         }
159     }
160 
161     #[inline]
162     #[must_use]
xzy(self) -> IVec3163     fn xzy(self) -> IVec3 {
164         IVec3 {
165             x: self.x,
166             y: self.z,
167             z: self.y,
168         }
169     }
170 
171     #[inline]
172     #[must_use]
xzz(self) -> IVec3173     fn xzz(self) -> IVec3 {
174         IVec3 {
175             x: self.x,
176             y: self.z,
177             z: self.z,
178         }
179     }
180 
181     #[inline]
182     #[must_use]
yxx(self) -> IVec3183     fn yxx(self) -> IVec3 {
184         IVec3 {
185             x: self.y,
186             y: self.x,
187             z: self.x,
188         }
189     }
190 
191     #[inline]
192     #[must_use]
yxy(self) -> IVec3193     fn yxy(self) -> IVec3 {
194         IVec3 {
195             x: self.y,
196             y: self.x,
197             z: self.y,
198         }
199     }
200 
201     #[inline]
202     #[must_use]
yxz(self) -> IVec3203     fn yxz(self) -> IVec3 {
204         IVec3 {
205             x: self.y,
206             y: self.x,
207             z: self.z,
208         }
209     }
210 
211     #[inline]
212     #[must_use]
yyx(self) -> IVec3213     fn yyx(self) -> IVec3 {
214         IVec3 {
215             x: self.y,
216             y: self.y,
217             z: self.x,
218         }
219     }
220 
221     #[inline]
222     #[must_use]
yyy(self) -> IVec3223     fn yyy(self) -> IVec3 {
224         IVec3 {
225             x: self.y,
226             y: self.y,
227             z: self.y,
228         }
229     }
230 
231     #[inline]
232     #[must_use]
yyz(self) -> IVec3233     fn yyz(self) -> IVec3 {
234         IVec3 {
235             x: self.y,
236             y: self.y,
237             z: self.z,
238         }
239     }
240 
241     #[inline]
242     #[must_use]
yzx(self) -> IVec3243     fn yzx(self) -> IVec3 {
244         IVec3 {
245             x: self.y,
246             y: self.z,
247             z: self.x,
248         }
249     }
250 
251     #[inline]
252     #[must_use]
yzy(self) -> IVec3253     fn yzy(self) -> IVec3 {
254         IVec3 {
255             x: self.y,
256             y: self.z,
257             z: self.y,
258         }
259     }
260 
261     #[inline]
262     #[must_use]
yzz(self) -> IVec3263     fn yzz(self) -> IVec3 {
264         IVec3 {
265             x: self.y,
266             y: self.z,
267             z: self.z,
268         }
269     }
270 
271     #[inline]
272     #[must_use]
zxx(self) -> IVec3273     fn zxx(self) -> IVec3 {
274         IVec3 {
275             x: self.z,
276             y: self.x,
277             z: self.x,
278         }
279     }
280 
281     #[inline]
282     #[must_use]
zxy(self) -> IVec3283     fn zxy(self) -> IVec3 {
284         IVec3 {
285             x: self.z,
286             y: self.x,
287             z: self.y,
288         }
289     }
290 
291     #[inline]
292     #[must_use]
zxz(self) -> IVec3293     fn zxz(self) -> IVec3 {
294         IVec3 {
295             x: self.z,
296             y: self.x,
297             z: self.z,
298         }
299     }
300 
301     #[inline]
302     #[must_use]
zyx(self) -> IVec3303     fn zyx(self) -> IVec3 {
304         IVec3 {
305             x: self.z,
306             y: self.y,
307             z: self.x,
308         }
309     }
310 
311     #[inline]
312     #[must_use]
zyy(self) -> IVec3313     fn zyy(self) -> IVec3 {
314         IVec3 {
315             x: self.z,
316             y: self.y,
317             z: self.y,
318         }
319     }
320 
321     #[inline]
322     #[must_use]
zyz(self) -> IVec3323     fn zyz(self) -> IVec3 {
324         IVec3 {
325             x: self.z,
326             y: self.y,
327             z: self.z,
328         }
329     }
330 
331     #[inline]
332     #[must_use]
zzx(self) -> IVec3333     fn zzx(self) -> IVec3 {
334         IVec3 {
335             x: self.z,
336             y: self.z,
337             z: self.x,
338         }
339     }
340 
341     #[inline]
342     #[must_use]
zzy(self) -> IVec3343     fn zzy(self) -> IVec3 {
344         IVec3 {
345             x: self.z,
346             y: self.z,
347             z: self.y,
348         }
349     }
350 
351     #[inline]
352     #[must_use]
zzz(self) -> IVec3353     fn zzz(self) -> IVec3 {
354         IVec3 {
355             x: self.z,
356             y: self.z,
357             z: self.z,
358         }
359     }
360 
361     #[inline]
362     #[must_use]
xxxx(self) -> IVec4363     fn xxxx(self) -> IVec4 {
364         IVec4::new(self.x, self.x, self.x, self.x)
365     }
366 
367     #[inline]
368     #[must_use]
xxxy(self) -> IVec4369     fn xxxy(self) -> IVec4 {
370         IVec4::new(self.x, self.x, self.x, self.y)
371     }
372 
373     #[inline]
374     #[must_use]
xxxz(self) -> IVec4375     fn xxxz(self) -> IVec4 {
376         IVec4::new(self.x, self.x, self.x, self.z)
377     }
378 
379     #[inline]
380     #[must_use]
xxyx(self) -> IVec4381     fn xxyx(self) -> IVec4 {
382         IVec4::new(self.x, self.x, self.y, self.x)
383     }
384 
385     #[inline]
386     #[must_use]
xxyy(self) -> IVec4387     fn xxyy(self) -> IVec4 {
388         IVec4::new(self.x, self.x, self.y, self.y)
389     }
390 
391     #[inline]
392     #[must_use]
xxyz(self) -> IVec4393     fn xxyz(self) -> IVec4 {
394         IVec4::new(self.x, self.x, self.y, self.z)
395     }
396 
397     #[inline]
398     #[must_use]
xxzx(self) -> IVec4399     fn xxzx(self) -> IVec4 {
400         IVec4::new(self.x, self.x, self.z, self.x)
401     }
402 
403     #[inline]
404     #[must_use]
xxzy(self) -> IVec4405     fn xxzy(self) -> IVec4 {
406         IVec4::new(self.x, self.x, self.z, self.y)
407     }
408 
409     #[inline]
410     #[must_use]
xxzz(self) -> IVec4411     fn xxzz(self) -> IVec4 {
412         IVec4::new(self.x, self.x, self.z, self.z)
413     }
414 
415     #[inline]
416     #[must_use]
xyxx(self) -> IVec4417     fn xyxx(self) -> IVec4 {
418         IVec4::new(self.x, self.y, self.x, self.x)
419     }
420 
421     #[inline]
422     #[must_use]
xyxy(self) -> IVec4423     fn xyxy(self) -> IVec4 {
424         IVec4::new(self.x, self.y, self.x, self.y)
425     }
426 
427     #[inline]
428     #[must_use]
xyxz(self) -> IVec4429     fn xyxz(self) -> IVec4 {
430         IVec4::new(self.x, self.y, self.x, self.z)
431     }
432 
433     #[inline]
434     #[must_use]
xyyx(self) -> IVec4435     fn xyyx(self) -> IVec4 {
436         IVec4::new(self.x, self.y, self.y, self.x)
437     }
438 
439     #[inline]
440     #[must_use]
xyyy(self) -> IVec4441     fn xyyy(self) -> IVec4 {
442         IVec4::new(self.x, self.y, self.y, self.y)
443     }
444 
445     #[inline]
446     #[must_use]
xyyz(self) -> IVec4447     fn xyyz(self) -> IVec4 {
448         IVec4::new(self.x, self.y, self.y, self.z)
449     }
450 
451     #[inline]
452     #[must_use]
xyzx(self) -> IVec4453     fn xyzx(self) -> IVec4 {
454         IVec4::new(self.x, self.y, self.z, self.x)
455     }
456 
457     #[inline]
458     #[must_use]
xyzy(self) -> IVec4459     fn xyzy(self) -> IVec4 {
460         IVec4::new(self.x, self.y, self.z, self.y)
461     }
462 
463     #[inline]
464     #[must_use]
xyzz(self) -> IVec4465     fn xyzz(self) -> IVec4 {
466         IVec4::new(self.x, self.y, self.z, self.z)
467     }
468 
469     #[inline]
470     #[must_use]
xzxx(self) -> IVec4471     fn xzxx(self) -> IVec4 {
472         IVec4::new(self.x, self.z, self.x, self.x)
473     }
474 
475     #[inline]
476     #[must_use]
xzxy(self) -> IVec4477     fn xzxy(self) -> IVec4 {
478         IVec4::new(self.x, self.z, self.x, self.y)
479     }
480 
481     #[inline]
482     #[must_use]
xzxz(self) -> IVec4483     fn xzxz(self) -> IVec4 {
484         IVec4::new(self.x, self.z, self.x, self.z)
485     }
486 
487     #[inline]
488     #[must_use]
xzyx(self) -> IVec4489     fn xzyx(self) -> IVec4 {
490         IVec4::new(self.x, self.z, self.y, self.x)
491     }
492 
493     #[inline]
494     #[must_use]
xzyy(self) -> IVec4495     fn xzyy(self) -> IVec4 {
496         IVec4::new(self.x, self.z, self.y, self.y)
497     }
498 
499     #[inline]
500     #[must_use]
xzyz(self) -> IVec4501     fn xzyz(self) -> IVec4 {
502         IVec4::new(self.x, self.z, self.y, self.z)
503     }
504 
505     #[inline]
506     #[must_use]
xzzx(self) -> IVec4507     fn xzzx(self) -> IVec4 {
508         IVec4::new(self.x, self.z, self.z, self.x)
509     }
510 
511     #[inline]
512     #[must_use]
xzzy(self) -> IVec4513     fn xzzy(self) -> IVec4 {
514         IVec4::new(self.x, self.z, self.z, self.y)
515     }
516 
517     #[inline]
518     #[must_use]
xzzz(self) -> IVec4519     fn xzzz(self) -> IVec4 {
520         IVec4::new(self.x, self.z, self.z, self.z)
521     }
522 
523     #[inline]
524     #[must_use]
yxxx(self) -> IVec4525     fn yxxx(self) -> IVec4 {
526         IVec4::new(self.y, self.x, self.x, self.x)
527     }
528 
529     #[inline]
530     #[must_use]
yxxy(self) -> IVec4531     fn yxxy(self) -> IVec4 {
532         IVec4::new(self.y, self.x, self.x, self.y)
533     }
534 
535     #[inline]
536     #[must_use]
yxxz(self) -> IVec4537     fn yxxz(self) -> IVec4 {
538         IVec4::new(self.y, self.x, self.x, self.z)
539     }
540 
541     #[inline]
542     #[must_use]
yxyx(self) -> IVec4543     fn yxyx(self) -> IVec4 {
544         IVec4::new(self.y, self.x, self.y, self.x)
545     }
546 
547     #[inline]
548     #[must_use]
yxyy(self) -> IVec4549     fn yxyy(self) -> IVec4 {
550         IVec4::new(self.y, self.x, self.y, self.y)
551     }
552 
553     #[inline]
554     #[must_use]
yxyz(self) -> IVec4555     fn yxyz(self) -> IVec4 {
556         IVec4::new(self.y, self.x, self.y, self.z)
557     }
558 
559     #[inline]
560     #[must_use]
yxzx(self) -> IVec4561     fn yxzx(self) -> IVec4 {
562         IVec4::new(self.y, self.x, self.z, self.x)
563     }
564 
565     #[inline]
566     #[must_use]
yxzy(self) -> IVec4567     fn yxzy(self) -> IVec4 {
568         IVec4::new(self.y, self.x, self.z, self.y)
569     }
570 
571     #[inline]
572     #[must_use]
yxzz(self) -> IVec4573     fn yxzz(self) -> IVec4 {
574         IVec4::new(self.y, self.x, self.z, self.z)
575     }
576 
577     #[inline]
578     #[must_use]
yyxx(self) -> IVec4579     fn yyxx(self) -> IVec4 {
580         IVec4::new(self.y, self.y, self.x, self.x)
581     }
582 
583     #[inline]
584     #[must_use]
yyxy(self) -> IVec4585     fn yyxy(self) -> IVec4 {
586         IVec4::new(self.y, self.y, self.x, self.y)
587     }
588 
589     #[inline]
590     #[must_use]
yyxz(self) -> IVec4591     fn yyxz(self) -> IVec4 {
592         IVec4::new(self.y, self.y, self.x, self.z)
593     }
594 
595     #[inline]
596     #[must_use]
yyyx(self) -> IVec4597     fn yyyx(self) -> IVec4 {
598         IVec4::new(self.y, self.y, self.y, self.x)
599     }
600 
601     #[inline]
602     #[must_use]
yyyy(self) -> IVec4603     fn yyyy(self) -> IVec4 {
604         IVec4::new(self.y, self.y, self.y, self.y)
605     }
606 
607     #[inline]
608     #[must_use]
yyyz(self) -> IVec4609     fn yyyz(self) -> IVec4 {
610         IVec4::new(self.y, self.y, self.y, self.z)
611     }
612 
613     #[inline]
614     #[must_use]
yyzx(self) -> IVec4615     fn yyzx(self) -> IVec4 {
616         IVec4::new(self.y, self.y, self.z, self.x)
617     }
618 
619     #[inline]
620     #[must_use]
yyzy(self) -> IVec4621     fn yyzy(self) -> IVec4 {
622         IVec4::new(self.y, self.y, self.z, self.y)
623     }
624 
625     #[inline]
626     #[must_use]
yyzz(self) -> IVec4627     fn yyzz(self) -> IVec4 {
628         IVec4::new(self.y, self.y, self.z, self.z)
629     }
630 
631     #[inline]
632     #[must_use]
yzxx(self) -> IVec4633     fn yzxx(self) -> IVec4 {
634         IVec4::new(self.y, self.z, self.x, self.x)
635     }
636 
637     #[inline]
638     #[must_use]
yzxy(self) -> IVec4639     fn yzxy(self) -> IVec4 {
640         IVec4::new(self.y, self.z, self.x, self.y)
641     }
642 
643     #[inline]
644     #[must_use]
yzxz(self) -> IVec4645     fn yzxz(self) -> IVec4 {
646         IVec4::new(self.y, self.z, self.x, self.z)
647     }
648 
649     #[inline]
650     #[must_use]
yzyx(self) -> IVec4651     fn yzyx(self) -> IVec4 {
652         IVec4::new(self.y, self.z, self.y, self.x)
653     }
654 
655     #[inline]
656     #[must_use]
yzyy(self) -> IVec4657     fn yzyy(self) -> IVec4 {
658         IVec4::new(self.y, self.z, self.y, self.y)
659     }
660 
661     #[inline]
662     #[must_use]
yzyz(self) -> IVec4663     fn yzyz(self) -> IVec4 {
664         IVec4::new(self.y, self.z, self.y, self.z)
665     }
666 
667     #[inline]
668     #[must_use]
yzzx(self) -> IVec4669     fn yzzx(self) -> IVec4 {
670         IVec4::new(self.y, self.z, self.z, self.x)
671     }
672 
673     #[inline]
674     #[must_use]
yzzy(self) -> IVec4675     fn yzzy(self) -> IVec4 {
676         IVec4::new(self.y, self.z, self.z, self.y)
677     }
678 
679     #[inline]
680     #[must_use]
yzzz(self) -> IVec4681     fn yzzz(self) -> IVec4 {
682         IVec4::new(self.y, self.z, self.z, self.z)
683     }
684 
685     #[inline]
686     #[must_use]
zxxx(self) -> IVec4687     fn zxxx(self) -> IVec4 {
688         IVec4::new(self.z, self.x, self.x, self.x)
689     }
690 
691     #[inline]
692     #[must_use]
zxxy(self) -> IVec4693     fn zxxy(self) -> IVec4 {
694         IVec4::new(self.z, self.x, self.x, self.y)
695     }
696 
697     #[inline]
698     #[must_use]
zxxz(self) -> IVec4699     fn zxxz(self) -> IVec4 {
700         IVec4::new(self.z, self.x, self.x, self.z)
701     }
702 
703     #[inline]
704     #[must_use]
zxyx(self) -> IVec4705     fn zxyx(self) -> IVec4 {
706         IVec4::new(self.z, self.x, self.y, self.x)
707     }
708 
709     #[inline]
710     #[must_use]
zxyy(self) -> IVec4711     fn zxyy(self) -> IVec4 {
712         IVec4::new(self.z, self.x, self.y, self.y)
713     }
714 
715     #[inline]
716     #[must_use]
zxyz(self) -> IVec4717     fn zxyz(self) -> IVec4 {
718         IVec4::new(self.z, self.x, self.y, self.z)
719     }
720 
721     #[inline]
722     #[must_use]
zxzx(self) -> IVec4723     fn zxzx(self) -> IVec4 {
724         IVec4::new(self.z, self.x, self.z, self.x)
725     }
726 
727     #[inline]
728     #[must_use]
zxzy(self) -> IVec4729     fn zxzy(self) -> IVec4 {
730         IVec4::new(self.z, self.x, self.z, self.y)
731     }
732 
733     #[inline]
734     #[must_use]
zxzz(self) -> IVec4735     fn zxzz(self) -> IVec4 {
736         IVec4::new(self.z, self.x, self.z, self.z)
737     }
738 
739     #[inline]
740     #[must_use]
zyxx(self) -> IVec4741     fn zyxx(self) -> IVec4 {
742         IVec4::new(self.z, self.y, self.x, self.x)
743     }
744 
745     #[inline]
746     #[must_use]
zyxy(self) -> IVec4747     fn zyxy(self) -> IVec4 {
748         IVec4::new(self.z, self.y, self.x, self.y)
749     }
750 
751     #[inline]
752     #[must_use]
zyxz(self) -> IVec4753     fn zyxz(self) -> IVec4 {
754         IVec4::new(self.z, self.y, self.x, self.z)
755     }
756 
757     #[inline]
758     #[must_use]
zyyx(self) -> IVec4759     fn zyyx(self) -> IVec4 {
760         IVec4::new(self.z, self.y, self.y, self.x)
761     }
762 
763     #[inline]
764     #[must_use]
zyyy(self) -> IVec4765     fn zyyy(self) -> IVec4 {
766         IVec4::new(self.z, self.y, self.y, self.y)
767     }
768 
769     #[inline]
770     #[must_use]
zyyz(self) -> IVec4771     fn zyyz(self) -> IVec4 {
772         IVec4::new(self.z, self.y, self.y, self.z)
773     }
774 
775     #[inline]
776     #[must_use]
zyzx(self) -> IVec4777     fn zyzx(self) -> IVec4 {
778         IVec4::new(self.z, self.y, self.z, self.x)
779     }
780 
781     #[inline]
782     #[must_use]
zyzy(self) -> IVec4783     fn zyzy(self) -> IVec4 {
784         IVec4::new(self.z, self.y, self.z, self.y)
785     }
786 
787     #[inline]
788     #[must_use]
zyzz(self) -> IVec4789     fn zyzz(self) -> IVec4 {
790         IVec4::new(self.z, self.y, self.z, self.z)
791     }
792 
793     #[inline]
794     #[must_use]
zzxx(self) -> IVec4795     fn zzxx(self) -> IVec4 {
796         IVec4::new(self.z, self.z, self.x, self.x)
797     }
798 
799     #[inline]
800     #[must_use]
zzxy(self) -> IVec4801     fn zzxy(self) -> IVec4 {
802         IVec4::new(self.z, self.z, self.x, self.y)
803     }
804 
805     #[inline]
806     #[must_use]
zzxz(self) -> IVec4807     fn zzxz(self) -> IVec4 {
808         IVec4::new(self.z, self.z, self.x, self.z)
809     }
810 
811     #[inline]
812     #[must_use]
zzyx(self) -> IVec4813     fn zzyx(self) -> IVec4 {
814         IVec4::new(self.z, self.z, self.y, self.x)
815     }
816 
817     #[inline]
818     #[must_use]
zzyy(self) -> IVec4819     fn zzyy(self) -> IVec4 {
820         IVec4::new(self.z, self.z, self.y, self.y)
821     }
822 
823     #[inline]
824     #[must_use]
zzyz(self) -> IVec4825     fn zzyz(self) -> IVec4 {
826         IVec4::new(self.z, self.z, self.y, self.z)
827     }
828 
829     #[inline]
830     #[must_use]
zzzx(self) -> IVec4831     fn zzzx(self) -> IVec4 {
832         IVec4::new(self.z, self.z, self.z, self.x)
833     }
834 
835     #[inline]
836     #[must_use]
zzzy(self) -> IVec4837     fn zzzy(self) -> IVec4 {
838         IVec4::new(self.z, self.z, self.z, self.y)
839     }
840 
841     #[inline]
842     #[must_use]
zzzz(self) -> IVec4843     fn zzzz(self) -> IVec4 {
844         IVec4::new(self.z, self.z, self.z, self.z)
845     }
846 }
847