• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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]
with_xy(self, rhs: IVec2) -> Self30     fn with_xy(self, rhs: IVec2) -> Self {
31         Self::new(rhs.x, rhs.y, self.z)
32     }
33 
34     #[inline]
35     #[must_use]
xz(self) -> IVec236     fn xz(self) -> IVec2 {
37         IVec2 {
38             x: self.x,
39             y: self.z,
40         }
41     }
42 
43     #[inline]
44     #[must_use]
with_xz(self, rhs: IVec2) -> Self45     fn with_xz(self, rhs: IVec2) -> Self {
46         Self::new(rhs.x, self.y, rhs.y)
47     }
48 
49     #[inline]
50     #[must_use]
yx(self) -> IVec251     fn yx(self) -> IVec2 {
52         IVec2 {
53             x: self.y,
54             y: self.x,
55         }
56     }
57 
58     #[inline]
59     #[must_use]
with_yx(self, rhs: IVec2) -> Self60     fn with_yx(self, rhs: IVec2) -> Self {
61         Self::new(rhs.y, rhs.x, self.z)
62     }
63 
64     #[inline]
65     #[must_use]
yy(self) -> IVec266     fn yy(self) -> IVec2 {
67         IVec2 {
68             x: self.y,
69             y: self.y,
70         }
71     }
72 
73     #[inline]
74     #[must_use]
yz(self) -> IVec275     fn yz(self) -> IVec2 {
76         IVec2 {
77             x: self.y,
78             y: self.z,
79         }
80     }
81 
82     #[inline]
83     #[must_use]
with_yz(self, rhs: IVec2) -> Self84     fn with_yz(self, rhs: IVec2) -> Self {
85         Self::new(self.x, rhs.x, rhs.y)
86     }
87 
88     #[inline]
89     #[must_use]
zx(self) -> IVec290     fn zx(self) -> IVec2 {
91         IVec2 {
92             x: self.z,
93             y: self.x,
94         }
95     }
96 
97     #[inline]
98     #[must_use]
with_zx(self, rhs: IVec2) -> Self99     fn with_zx(self, rhs: IVec2) -> Self {
100         Self::new(rhs.y, self.y, rhs.x)
101     }
102 
103     #[inline]
104     #[must_use]
zy(self) -> IVec2105     fn zy(self) -> IVec2 {
106         IVec2 {
107             x: self.z,
108             y: self.y,
109         }
110     }
111 
112     #[inline]
113     #[must_use]
with_zy(self, rhs: IVec2) -> Self114     fn with_zy(self, rhs: IVec2) -> Self {
115         Self::new(self.x, rhs.y, rhs.x)
116     }
117 
118     #[inline]
119     #[must_use]
zz(self) -> IVec2120     fn zz(self) -> IVec2 {
121         IVec2 {
122             x: self.z,
123             y: self.z,
124         }
125     }
126 
127     #[inline]
128     #[must_use]
xxx(self) -> IVec3129     fn xxx(self) -> IVec3 {
130         IVec3::new(self.x, self.x, self.x)
131     }
132 
133     #[inline]
134     #[must_use]
xxy(self) -> IVec3135     fn xxy(self) -> IVec3 {
136         IVec3::new(self.x, self.x, self.y)
137     }
138 
139     #[inline]
140     #[must_use]
xxz(self) -> IVec3141     fn xxz(self) -> IVec3 {
142         IVec3::new(self.x, self.x, self.z)
143     }
144 
145     #[inline]
146     #[must_use]
xyx(self) -> IVec3147     fn xyx(self) -> IVec3 {
148         IVec3::new(self.x, self.y, self.x)
149     }
150 
151     #[inline]
152     #[must_use]
xyy(self) -> IVec3153     fn xyy(self) -> IVec3 {
154         IVec3::new(self.x, self.y, self.y)
155     }
156 
157     #[inline]
158     #[must_use]
xzx(self) -> IVec3159     fn xzx(self) -> IVec3 {
160         IVec3::new(self.x, self.z, self.x)
161     }
162 
163     #[inline]
164     #[must_use]
xzy(self) -> IVec3165     fn xzy(self) -> IVec3 {
166         IVec3::new(self.x, self.z, self.y)
167     }
168 
169     #[inline]
170     #[must_use]
xzz(self) -> IVec3171     fn xzz(self) -> IVec3 {
172         IVec3::new(self.x, self.z, self.z)
173     }
174 
175     #[inline]
176     #[must_use]
yxx(self) -> IVec3177     fn yxx(self) -> IVec3 {
178         IVec3::new(self.y, self.x, self.x)
179     }
180 
181     #[inline]
182     #[must_use]
yxy(self) -> IVec3183     fn yxy(self) -> IVec3 {
184         IVec3::new(self.y, self.x, self.y)
185     }
186 
187     #[inline]
188     #[must_use]
yxz(self) -> IVec3189     fn yxz(self) -> IVec3 {
190         IVec3::new(self.y, self.x, self.z)
191     }
192 
193     #[inline]
194     #[must_use]
yyx(self) -> IVec3195     fn yyx(self) -> IVec3 {
196         IVec3::new(self.y, self.y, self.x)
197     }
198 
199     #[inline]
200     #[must_use]
yyy(self) -> IVec3201     fn yyy(self) -> IVec3 {
202         IVec3::new(self.y, self.y, self.y)
203     }
204 
205     #[inline]
206     #[must_use]
yyz(self) -> IVec3207     fn yyz(self) -> IVec3 {
208         IVec3::new(self.y, self.y, self.z)
209     }
210 
211     #[inline]
212     #[must_use]
yzx(self) -> IVec3213     fn yzx(self) -> IVec3 {
214         IVec3::new(self.y, self.z, self.x)
215     }
216 
217     #[inline]
218     #[must_use]
yzy(self) -> IVec3219     fn yzy(self) -> IVec3 {
220         IVec3::new(self.y, self.z, self.y)
221     }
222 
223     #[inline]
224     #[must_use]
yzz(self) -> IVec3225     fn yzz(self) -> IVec3 {
226         IVec3::new(self.y, self.z, self.z)
227     }
228 
229     #[inline]
230     #[must_use]
zxx(self) -> IVec3231     fn zxx(self) -> IVec3 {
232         IVec3::new(self.z, self.x, self.x)
233     }
234 
235     #[inline]
236     #[must_use]
zxy(self) -> IVec3237     fn zxy(self) -> IVec3 {
238         IVec3::new(self.z, self.x, self.y)
239     }
240 
241     #[inline]
242     #[must_use]
zxz(self) -> IVec3243     fn zxz(self) -> IVec3 {
244         IVec3::new(self.z, self.x, self.z)
245     }
246 
247     #[inline]
248     #[must_use]
zyx(self) -> IVec3249     fn zyx(self) -> IVec3 {
250         IVec3::new(self.z, self.y, self.x)
251     }
252 
253     #[inline]
254     #[must_use]
zyy(self) -> IVec3255     fn zyy(self) -> IVec3 {
256         IVec3::new(self.z, self.y, self.y)
257     }
258 
259     #[inline]
260     #[must_use]
zyz(self) -> IVec3261     fn zyz(self) -> IVec3 {
262         IVec3::new(self.z, self.y, self.z)
263     }
264 
265     #[inline]
266     #[must_use]
zzx(self) -> IVec3267     fn zzx(self) -> IVec3 {
268         IVec3::new(self.z, self.z, self.x)
269     }
270 
271     #[inline]
272     #[must_use]
zzy(self) -> IVec3273     fn zzy(self) -> IVec3 {
274         IVec3::new(self.z, self.z, self.y)
275     }
276 
277     #[inline]
278     #[must_use]
zzz(self) -> IVec3279     fn zzz(self) -> IVec3 {
280         IVec3::new(self.z, self.z, self.z)
281     }
282 
283     #[inline]
284     #[must_use]
xxxx(self) -> IVec4285     fn xxxx(self) -> IVec4 {
286         IVec4::new(self.x, self.x, self.x, self.x)
287     }
288 
289     #[inline]
290     #[must_use]
xxxy(self) -> IVec4291     fn xxxy(self) -> IVec4 {
292         IVec4::new(self.x, self.x, self.x, self.y)
293     }
294 
295     #[inline]
296     #[must_use]
xxxz(self) -> IVec4297     fn xxxz(self) -> IVec4 {
298         IVec4::new(self.x, self.x, self.x, self.z)
299     }
300 
301     #[inline]
302     #[must_use]
xxyx(self) -> IVec4303     fn xxyx(self) -> IVec4 {
304         IVec4::new(self.x, self.x, self.y, self.x)
305     }
306 
307     #[inline]
308     #[must_use]
xxyy(self) -> IVec4309     fn xxyy(self) -> IVec4 {
310         IVec4::new(self.x, self.x, self.y, self.y)
311     }
312 
313     #[inline]
314     #[must_use]
xxyz(self) -> IVec4315     fn xxyz(self) -> IVec4 {
316         IVec4::new(self.x, self.x, self.y, self.z)
317     }
318 
319     #[inline]
320     #[must_use]
xxzx(self) -> IVec4321     fn xxzx(self) -> IVec4 {
322         IVec4::new(self.x, self.x, self.z, self.x)
323     }
324 
325     #[inline]
326     #[must_use]
xxzy(self) -> IVec4327     fn xxzy(self) -> IVec4 {
328         IVec4::new(self.x, self.x, self.z, self.y)
329     }
330 
331     #[inline]
332     #[must_use]
xxzz(self) -> IVec4333     fn xxzz(self) -> IVec4 {
334         IVec4::new(self.x, self.x, self.z, self.z)
335     }
336 
337     #[inline]
338     #[must_use]
xyxx(self) -> IVec4339     fn xyxx(self) -> IVec4 {
340         IVec4::new(self.x, self.y, self.x, self.x)
341     }
342 
343     #[inline]
344     #[must_use]
xyxy(self) -> IVec4345     fn xyxy(self) -> IVec4 {
346         IVec4::new(self.x, self.y, self.x, self.y)
347     }
348 
349     #[inline]
350     #[must_use]
xyxz(self) -> IVec4351     fn xyxz(self) -> IVec4 {
352         IVec4::new(self.x, self.y, self.x, self.z)
353     }
354 
355     #[inline]
356     #[must_use]
xyyx(self) -> IVec4357     fn xyyx(self) -> IVec4 {
358         IVec4::new(self.x, self.y, self.y, self.x)
359     }
360 
361     #[inline]
362     #[must_use]
xyyy(self) -> IVec4363     fn xyyy(self) -> IVec4 {
364         IVec4::new(self.x, self.y, self.y, self.y)
365     }
366 
367     #[inline]
368     #[must_use]
xyyz(self) -> IVec4369     fn xyyz(self) -> IVec4 {
370         IVec4::new(self.x, self.y, self.y, self.z)
371     }
372 
373     #[inline]
374     #[must_use]
xyzx(self) -> IVec4375     fn xyzx(self) -> IVec4 {
376         IVec4::new(self.x, self.y, self.z, self.x)
377     }
378 
379     #[inline]
380     #[must_use]
xyzy(self) -> IVec4381     fn xyzy(self) -> IVec4 {
382         IVec4::new(self.x, self.y, self.z, self.y)
383     }
384 
385     #[inline]
386     #[must_use]
xyzz(self) -> IVec4387     fn xyzz(self) -> IVec4 {
388         IVec4::new(self.x, self.y, self.z, self.z)
389     }
390 
391     #[inline]
392     #[must_use]
xzxx(self) -> IVec4393     fn xzxx(self) -> IVec4 {
394         IVec4::new(self.x, self.z, self.x, self.x)
395     }
396 
397     #[inline]
398     #[must_use]
xzxy(self) -> IVec4399     fn xzxy(self) -> IVec4 {
400         IVec4::new(self.x, self.z, self.x, self.y)
401     }
402 
403     #[inline]
404     #[must_use]
xzxz(self) -> IVec4405     fn xzxz(self) -> IVec4 {
406         IVec4::new(self.x, self.z, self.x, self.z)
407     }
408 
409     #[inline]
410     #[must_use]
xzyx(self) -> IVec4411     fn xzyx(self) -> IVec4 {
412         IVec4::new(self.x, self.z, self.y, self.x)
413     }
414 
415     #[inline]
416     #[must_use]
xzyy(self) -> IVec4417     fn xzyy(self) -> IVec4 {
418         IVec4::new(self.x, self.z, self.y, self.y)
419     }
420 
421     #[inline]
422     #[must_use]
xzyz(self) -> IVec4423     fn xzyz(self) -> IVec4 {
424         IVec4::new(self.x, self.z, self.y, self.z)
425     }
426 
427     #[inline]
428     #[must_use]
xzzx(self) -> IVec4429     fn xzzx(self) -> IVec4 {
430         IVec4::new(self.x, self.z, self.z, self.x)
431     }
432 
433     #[inline]
434     #[must_use]
xzzy(self) -> IVec4435     fn xzzy(self) -> IVec4 {
436         IVec4::new(self.x, self.z, self.z, self.y)
437     }
438 
439     #[inline]
440     #[must_use]
xzzz(self) -> IVec4441     fn xzzz(self) -> IVec4 {
442         IVec4::new(self.x, self.z, self.z, self.z)
443     }
444 
445     #[inline]
446     #[must_use]
yxxx(self) -> IVec4447     fn yxxx(self) -> IVec4 {
448         IVec4::new(self.y, self.x, self.x, self.x)
449     }
450 
451     #[inline]
452     #[must_use]
yxxy(self) -> IVec4453     fn yxxy(self) -> IVec4 {
454         IVec4::new(self.y, self.x, self.x, self.y)
455     }
456 
457     #[inline]
458     #[must_use]
yxxz(self) -> IVec4459     fn yxxz(self) -> IVec4 {
460         IVec4::new(self.y, self.x, self.x, self.z)
461     }
462 
463     #[inline]
464     #[must_use]
yxyx(self) -> IVec4465     fn yxyx(self) -> IVec4 {
466         IVec4::new(self.y, self.x, self.y, self.x)
467     }
468 
469     #[inline]
470     #[must_use]
yxyy(self) -> IVec4471     fn yxyy(self) -> IVec4 {
472         IVec4::new(self.y, self.x, self.y, self.y)
473     }
474 
475     #[inline]
476     #[must_use]
yxyz(self) -> IVec4477     fn yxyz(self) -> IVec4 {
478         IVec4::new(self.y, self.x, self.y, self.z)
479     }
480 
481     #[inline]
482     #[must_use]
yxzx(self) -> IVec4483     fn yxzx(self) -> IVec4 {
484         IVec4::new(self.y, self.x, self.z, self.x)
485     }
486 
487     #[inline]
488     #[must_use]
yxzy(self) -> IVec4489     fn yxzy(self) -> IVec4 {
490         IVec4::new(self.y, self.x, self.z, self.y)
491     }
492 
493     #[inline]
494     #[must_use]
yxzz(self) -> IVec4495     fn yxzz(self) -> IVec4 {
496         IVec4::new(self.y, self.x, self.z, self.z)
497     }
498 
499     #[inline]
500     #[must_use]
yyxx(self) -> IVec4501     fn yyxx(self) -> IVec4 {
502         IVec4::new(self.y, self.y, self.x, self.x)
503     }
504 
505     #[inline]
506     #[must_use]
yyxy(self) -> IVec4507     fn yyxy(self) -> IVec4 {
508         IVec4::new(self.y, self.y, self.x, self.y)
509     }
510 
511     #[inline]
512     #[must_use]
yyxz(self) -> IVec4513     fn yyxz(self) -> IVec4 {
514         IVec4::new(self.y, self.y, self.x, self.z)
515     }
516 
517     #[inline]
518     #[must_use]
yyyx(self) -> IVec4519     fn yyyx(self) -> IVec4 {
520         IVec4::new(self.y, self.y, self.y, self.x)
521     }
522 
523     #[inline]
524     #[must_use]
yyyy(self) -> IVec4525     fn yyyy(self) -> IVec4 {
526         IVec4::new(self.y, self.y, self.y, self.y)
527     }
528 
529     #[inline]
530     #[must_use]
yyyz(self) -> IVec4531     fn yyyz(self) -> IVec4 {
532         IVec4::new(self.y, self.y, self.y, self.z)
533     }
534 
535     #[inline]
536     #[must_use]
yyzx(self) -> IVec4537     fn yyzx(self) -> IVec4 {
538         IVec4::new(self.y, self.y, self.z, self.x)
539     }
540 
541     #[inline]
542     #[must_use]
yyzy(self) -> IVec4543     fn yyzy(self) -> IVec4 {
544         IVec4::new(self.y, self.y, self.z, self.y)
545     }
546 
547     #[inline]
548     #[must_use]
yyzz(self) -> IVec4549     fn yyzz(self) -> IVec4 {
550         IVec4::new(self.y, self.y, self.z, self.z)
551     }
552 
553     #[inline]
554     #[must_use]
yzxx(self) -> IVec4555     fn yzxx(self) -> IVec4 {
556         IVec4::new(self.y, self.z, self.x, self.x)
557     }
558 
559     #[inline]
560     #[must_use]
yzxy(self) -> IVec4561     fn yzxy(self) -> IVec4 {
562         IVec4::new(self.y, self.z, self.x, self.y)
563     }
564 
565     #[inline]
566     #[must_use]
yzxz(self) -> IVec4567     fn yzxz(self) -> IVec4 {
568         IVec4::new(self.y, self.z, self.x, self.z)
569     }
570 
571     #[inline]
572     #[must_use]
yzyx(self) -> IVec4573     fn yzyx(self) -> IVec4 {
574         IVec4::new(self.y, self.z, self.y, self.x)
575     }
576 
577     #[inline]
578     #[must_use]
yzyy(self) -> IVec4579     fn yzyy(self) -> IVec4 {
580         IVec4::new(self.y, self.z, self.y, self.y)
581     }
582 
583     #[inline]
584     #[must_use]
yzyz(self) -> IVec4585     fn yzyz(self) -> IVec4 {
586         IVec4::new(self.y, self.z, self.y, self.z)
587     }
588 
589     #[inline]
590     #[must_use]
yzzx(self) -> IVec4591     fn yzzx(self) -> IVec4 {
592         IVec4::new(self.y, self.z, self.z, self.x)
593     }
594 
595     #[inline]
596     #[must_use]
yzzy(self) -> IVec4597     fn yzzy(self) -> IVec4 {
598         IVec4::new(self.y, self.z, self.z, self.y)
599     }
600 
601     #[inline]
602     #[must_use]
yzzz(self) -> IVec4603     fn yzzz(self) -> IVec4 {
604         IVec4::new(self.y, self.z, self.z, self.z)
605     }
606 
607     #[inline]
608     #[must_use]
zxxx(self) -> IVec4609     fn zxxx(self) -> IVec4 {
610         IVec4::new(self.z, self.x, self.x, self.x)
611     }
612 
613     #[inline]
614     #[must_use]
zxxy(self) -> IVec4615     fn zxxy(self) -> IVec4 {
616         IVec4::new(self.z, self.x, self.x, self.y)
617     }
618 
619     #[inline]
620     #[must_use]
zxxz(self) -> IVec4621     fn zxxz(self) -> IVec4 {
622         IVec4::new(self.z, self.x, self.x, self.z)
623     }
624 
625     #[inline]
626     #[must_use]
zxyx(self) -> IVec4627     fn zxyx(self) -> IVec4 {
628         IVec4::new(self.z, self.x, self.y, self.x)
629     }
630 
631     #[inline]
632     #[must_use]
zxyy(self) -> IVec4633     fn zxyy(self) -> IVec4 {
634         IVec4::new(self.z, self.x, self.y, self.y)
635     }
636 
637     #[inline]
638     #[must_use]
zxyz(self) -> IVec4639     fn zxyz(self) -> IVec4 {
640         IVec4::new(self.z, self.x, self.y, self.z)
641     }
642 
643     #[inline]
644     #[must_use]
zxzx(self) -> IVec4645     fn zxzx(self) -> IVec4 {
646         IVec4::new(self.z, self.x, self.z, self.x)
647     }
648 
649     #[inline]
650     #[must_use]
zxzy(self) -> IVec4651     fn zxzy(self) -> IVec4 {
652         IVec4::new(self.z, self.x, self.z, self.y)
653     }
654 
655     #[inline]
656     #[must_use]
zxzz(self) -> IVec4657     fn zxzz(self) -> IVec4 {
658         IVec4::new(self.z, self.x, self.z, self.z)
659     }
660 
661     #[inline]
662     #[must_use]
zyxx(self) -> IVec4663     fn zyxx(self) -> IVec4 {
664         IVec4::new(self.z, self.y, self.x, self.x)
665     }
666 
667     #[inline]
668     #[must_use]
zyxy(self) -> IVec4669     fn zyxy(self) -> IVec4 {
670         IVec4::new(self.z, self.y, self.x, self.y)
671     }
672 
673     #[inline]
674     #[must_use]
zyxz(self) -> IVec4675     fn zyxz(self) -> IVec4 {
676         IVec4::new(self.z, self.y, self.x, self.z)
677     }
678 
679     #[inline]
680     #[must_use]
zyyx(self) -> IVec4681     fn zyyx(self) -> IVec4 {
682         IVec4::new(self.z, self.y, self.y, self.x)
683     }
684 
685     #[inline]
686     #[must_use]
zyyy(self) -> IVec4687     fn zyyy(self) -> IVec4 {
688         IVec4::new(self.z, self.y, self.y, self.y)
689     }
690 
691     #[inline]
692     #[must_use]
zyyz(self) -> IVec4693     fn zyyz(self) -> IVec4 {
694         IVec4::new(self.z, self.y, self.y, self.z)
695     }
696 
697     #[inline]
698     #[must_use]
zyzx(self) -> IVec4699     fn zyzx(self) -> IVec4 {
700         IVec4::new(self.z, self.y, self.z, self.x)
701     }
702 
703     #[inline]
704     #[must_use]
zyzy(self) -> IVec4705     fn zyzy(self) -> IVec4 {
706         IVec4::new(self.z, self.y, self.z, self.y)
707     }
708 
709     #[inline]
710     #[must_use]
zyzz(self) -> IVec4711     fn zyzz(self) -> IVec4 {
712         IVec4::new(self.z, self.y, self.z, self.z)
713     }
714 
715     #[inline]
716     #[must_use]
zzxx(self) -> IVec4717     fn zzxx(self) -> IVec4 {
718         IVec4::new(self.z, self.z, self.x, self.x)
719     }
720 
721     #[inline]
722     #[must_use]
zzxy(self) -> IVec4723     fn zzxy(self) -> IVec4 {
724         IVec4::new(self.z, self.z, self.x, self.y)
725     }
726 
727     #[inline]
728     #[must_use]
zzxz(self) -> IVec4729     fn zzxz(self) -> IVec4 {
730         IVec4::new(self.z, self.z, self.x, self.z)
731     }
732 
733     #[inline]
734     #[must_use]
zzyx(self) -> IVec4735     fn zzyx(self) -> IVec4 {
736         IVec4::new(self.z, self.z, self.y, self.x)
737     }
738 
739     #[inline]
740     #[must_use]
zzyy(self) -> IVec4741     fn zzyy(self) -> IVec4 {
742         IVec4::new(self.z, self.z, self.y, self.y)
743     }
744 
745     #[inline]
746     #[must_use]
zzyz(self) -> IVec4747     fn zzyz(self) -> IVec4 {
748         IVec4::new(self.z, self.z, self.y, self.z)
749     }
750 
751     #[inline]
752     #[must_use]
zzzx(self) -> IVec4753     fn zzzx(self) -> IVec4 {
754         IVec4::new(self.z, self.z, self.z, self.x)
755     }
756 
757     #[inline]
758     #[must_use]
zzzy(self) -> IVec4759     fn zzzy(self) -> IVec4 {
760         IVec4::new(self.z, self.z, self.z, self.y)
761     }
762 
763     #[inline]
764     #[must_use]
zzzz(self) -> IVec4765     fn zzzz(self) -> IVec4 {
766         IVec4::new(self.z, self.z, self.z, self.z)
767     }
768 }
769