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