glam/swizzles/
i16vec4_impl.rs

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