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