1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file. 2 3 use crate::{DVec2, DVec3, DVec4, Vec3Swizzles}; 4 5 impl Vec3Swizzles for DVec3 { 6 type Vec2 = DVec2; 7 8 type Vec4 = DVec4; 9 10 #[inline] 11 #[must_use] xx(self) -> DVec212 fn xx(self) -> DVec2 { 13 DVec2 { 14 x: self.x, 15 y: self.x, 16 } 17 } 18 19 #[inline] 20 #[must_use] xy(self) -> DVec221 fn xy(self) -> DVec2 { 22 DVec2 { 23 x: self.x, 24 y: self.y, 25 } 26 } 27 28 #[inline] 29 #[must_use] xz(self) -> DVec230 fn xz(self) -> DVec2 { 31 DVec2 { 32 x: self.x, 33 y: self.z, 34 } 35 } 36 37 #[inline] 38 #[must_use] yx(self) -> DVec239 fn yx(self) -> DVec2 { 40 DVec2 { 41 x: self.y, 42 y: self.x, 43 } 44 } 45 46 #[inline] 47 #[must_use] yy(self) -> DVec248 fn yy(self) -> DVec2 { 49 DVec2 { 50 x: self.y, 51 y: self.y, 52 } 53 } 54 55 #[inline] 56 #[must_use] yz(self) -> DVec257 fn yz(self) -> DVec2 { 58 DVec2 { 59 x: self.y, 60 y: self.z, 61 } 62 } 63 64 #[inline] 65 #[must_use] zx(self) -> DVec266 fn zx(self) -> DVec2 { 67 DVec2 { 68 x: self.z, 69 y: self.x, 70 } 71 } 72 73 #[inline] 74 #[must_use] zy(self) -> DVec275 fn zy(self) -> DVec2 { 76 DVec2 { 77 x: self.z, 78 y: self.y, 79 } 80 } 81 82 #[inline] 83 #[must_use] zz(self) -> DVec284 fn zz(self) -> DVec2 { 85 DVec2 { 86 x: self.z, 87 y: self.z, 88 } 89 } 90 91 #[inline] 92 #[must_use] xxx(self) -> DVec393 fn xxx(self) -> DVec3 { 94 DVec3 { 95 x: self.x, 96 y: self.x, 97 z: self.x, 98 } 99 } 100 101 #[inline] 102 #[must_use] xxy(self) -> DVec3103 fn xxy(self) -> DVec3 { 104 DVec3 { 105 x: self.x, 106 y: self.x, 107 z: self.y, 108 } 109 } 110 111 #[inline] 112 #[must_use] xxz(self) -> DVec3113 fn xxz(self) -> DVec3 { 114 DVec3 { 115 x: self.x, 116 y: self.x, 117 z: self.z, 118 } 119 } 120 121 #[inline] 122 #[must_use] xyx(self) -> DVec3123 fn xyx(self) -> DVec3 { 124 DVec3 { 125 x: self.x, 126 y: self.y, 127 z: self.x, 128 } 129 } 130 131 #[inline] 132 #[must_use] xyy(self) -> DVec3133 fn xyy(self) -> DVec3 { 134 DVec3 { 135 x: self.x, 136 y: self.y, 137 z: self.y, 138 } 139 } 140 141 #[inline] 142 #[must_use] xyz(self) -> DVec3143 fn xyz(self) -> DVec3 { 144 DVec3 { 145 x: self.x, 146 y: self.y, 147 z: self.z, 148 } 149 } 150 151 #[inline] 152 #[must_use] xzx(self) -> DVec3153 fn xzx(self) -> DVec3 { 154 DVec3 { 155 x: self.x, 156 y: self.z, 157 z: self.x, 158 } 159 } 160 161 #[inline] 162 #[must_use] xzy(self) -> DVec3163 fn xzy(self) -> DVec3 { 164 DVec3 { 165 x: self.x, 166 y: self.z, 167 z: self.y, 168 } 169 } 170 171 #[inline] 172 #[must_use] xzz(self) -> DVec3173 fn xzz(self) -> DVec3 { 174 DVec3 { 175 x: self.x, 176 y: self.z, 177 z: self.z, 178 } 179 } 180 181 #[inline] 182 #[must_use] yxx(self) -> DVec3183 fn yxx(self) -> DVec3 { 184 DVec3 { 185 x: self.y, 186 y: self.x, 187 z: self.x, 188 } 189 } 190 191 #[inline] 192 #[must_use] yxy(self) -> DVec3193 fn yxy(self) -> DVec3 { 194 DVec3 { 195 x: self.y, 196 y: self.x, 197 z: self.y, 198 } 199 } 200 201 #[inline] 202 #[must_use] yxz(self) -> DVec3203 fn yxz(self) -> DVec3 { 204 DVec3 { 205 x: self.y, 206 y: self.x, 207 z: self.z, 208 } 209 } 210 211 #[inline] 212 #[must_use] yyx(self) -> DVec3213 fn yyx(self) -> DVec3 { 214 DVec3 { 215 x: self.y, 216 y: self.y, 217 z: self.x, 218 } 219 } 220 221 #[inline] 222 #[must_use] yyy(self) -> DVec3223 fn yyy(self) -> DVec3 { 224 DVec3 { 225 x: self.y, 226 y: self.y, 227 z: self.y, 228 } 229 } 230 231 #[inline] 232 #[must_use] yyz(self) -> DVec3233 fn yyz(self) -> DVec3 { 234 DVec3 { 235 x: self.y, 236 y: self.y, 237 z: self.z, 238 } 239 } 240 241 #[inline] 242 #[must_use] yzx(self) -> DVec3243 fn yzx(self) -> DVec3 { 244 DVec3 { 245 x: self.y, 246 y: self.z, 247 z: self.x, 248 } 249 } 250 251 #[inline] 252 #[must_use] yzy(self) -> DVec3253 fn yzy(self) -> DVec3 { 254 DVec3 { 255 x: self.y, 256 y: self.z, 257 z: self.y, 258 } 259 } 260 261 #[inline] 262 #[must_use] yzz(self) -> DVec3263 fn yzz(self) -> DVec3 { 264 DVec3 { 265 x: self.y, 266 y: self.z, 267 z: self.z, 268 } 269 } 270 271 #[inline] 272 #[must_use] zxx(self) -> DVec3273 fn zxx(self) -> DVec3 { 274 DVec3 { 275 x: self.z, 276 y: self.x, 277 z: self.x, 278 } 279 } 280 281 #[inline] 282 #[must_use] zxy(self) -> DVec3283 fn zxy(self) -> DVec3 { 284 DVec3 { 285 x: self.z, 286 y: self.x, 287 z: self.y, 288 } 289 } 290 291 #[inline] 292 #[must_use] zxz(self) -> DVec3293 fn zxz(self) -> DVec3 { 294 DVec3 { 295 x: self.z, 296 y: self.x, 297 z: self.z, 298 } 299 } 300 301 #[inline] 302 #[must_use] zyx(self) -> DVec3303 fn zyx(self) -> DVec3 { 304 DVec3 { 305 x: self.z, 306 y: self.y, 307 z: self.x, 308 } 309 } 310 311 #[inline] 312 #[must_use] zyy(self) -> DVec3313 fn zyy(self) -> DVec3 { 314 DVec3 { 315 x: self.z, 316 y: self.y, 317 z: self.y, 318 } 319 } 320 321 #[inline] 322 #[must_use] zyz(self) -> DVec3323 fn zyz(self) -> DVec3 { 324 DVec3 { 325 x: self.z, 326 y: self.y, 327 z: self.z, 328 } 329 } 330 331 #[inline] 332 #[must_use] zzx(self) -> DVec3333 fn zzx(self) -> DVec3 { 334 DVec3 { 335 x: self.z, 336 y: self.z, 337 z: self.x, 338 } 339 } 340 341 #[inline] 342 #[must_use] zzy(self) -> DVec3343 fn zzy(self) -> DVec3 { 344 DVec3 { 345 x: self.z, 346 y: self.z, 347 z: self.y, 348 } 349 } 350 351 #[inline] 352 #[must_use] zzz(self) -> DVec3353 fn zzz(self) -> DVec3 { 354 DVec3 { 355 x: self.z, 356 y: self.z, 357 z: self.z, 358 } 359 } 360 361 #[inline] 362 #[must_use] xxxx(self) -> DVec4363 fn xxxx(self) -> DVec4 { 364 DVec4::new(self.x, self.x, self.x, self.x) 365 } 366 367 #[inline] 368 #[must_use] xxxy(self) -> DVec4369 fn xxxy(self) -> DVec4 { 370 DVec4::new(self.x, self.x, self.x, self.y) 371 } 372 373 #[inline] 374 #[must_use] xxxz(self) -> DVec4375 fn xxxz(self) -> DVec4 { 376 DVec4::new(self.x, self.x, self.x, self.z) 377 } 378 379 #[inline] 380 #[must_use] xxyx(self) -> DVec4381 fn xxyx(self) -> DVec4 { 382 DVec4::new(self.x, self.x, self.y, self.x) 383 } 384 385 #[inline] 386 #[must_use] xxyy(self) -> DVec4387 fn xxyy(self) -> DVec4 { 388 DVec4::new(self.x, self.x, self.y, self.y) 389 } 390 391 #[inline] 392 #[must_use] xxyz(self) -> DVec4393 fn xxyz(self) -> DVec4 { 394 DVec4::new(self.x, self.x, self.y, self.z) 395 } 396 397 #[inline] 398 #[must_use] xxzx(self) -> DVec4399 fn xxzx(self) -> DVec4 { 400 DVec4::new(self.x, self.x, self.z, self.x) 401 } 402 403 #[inline] 404 #[must_use] xxzy(self) -> DVec4405 fn xxzy(self) -> DVec4 { 406 DVec4::new(self.x, self.x, self.z, self.y) 407 } 408 409 #[inline] 410 #[must_use] xxzz(self) -> DVec4411 fn xxzz(self) -> DVec4 { 412 DVec4::new(self.x, self.x, self.z, self.z) 413 } 414 415 #[inline] 416 #[must_use] xyxx(self) -> DVec4417 fn xyxx(self) -> DVec4 { 418 DVec4::new(self.x, self.y, self.x, self.x) 419 } 420 421 #[inline] 422 #[must_use] xyxy(self) -> DVec4423 fn xyxy(self) -> DVec4 { 424 DVec4::new(self.x, self.y, self.x, self.y) 425 } 426 427 #[inline] 428 #[must_use] xyxz(self) -> DVec4429 fn xyxz(self) -> DVec4 { 430 DVec4::new(self.x, self.y, self.x, self.z) 431 } 432 433 #[inline] 434 #[must_use] xyyx(self) -> DVec4435 fn xyyx(self) -> DVec4 { 436 DVec4::new(self.x, self.y, self.y, self.x) 437 } 438 439 #[inline] 440 #[must_use] xyyy(self) -> DVec4441 fn xyyy(self) -> DVec4 { 442 DVec4::new(self.x, self.y, self.y, self.y) 443 } 444 445 #[inline] 446 #[must_use] xyyz(self) -> DVec4447 fn xyyz(self) -> DVec4 { 448 DVec4::new(self.x, self.y, self.y, self.z) 449 } 450 451 #[inline] 452 #[must_use] xyzx(self) -> DVec4453 fn xyzx(self) -> DVec4 { 454 DVec4::new(self.x, self.y, self.z, self.x) 455 } 456 457 #[inline] 458 #[must_use] xyzy(self) -> DVec4459 fn xyzy(self) -> DVec4 { 460 DVec4::new(self.x, self.y, self.z, self.y) 461 } 462 463 #[inline] 464 #[must_use] xyzz(self) -> DVec4465 fn xyzz(self) -> DVec4 { 466 DVec4::new(self.x, self.y, self.z, self.z) 467 } 468 469 #[inline] 470 #[must_use] xzxx(self) -> DVec4471 fn xzxx(self) -> DVec4 { 472 DVec4::new(self.x, self.z, self.x, self.x) 473 } 474 475 #[inline] 476 #[must_use] xzxy(self) -> DVec4477 fn xzxy(self) -> DVec4 { 478 DVec4::new(self.x, self.z, self.x, self.y) 479 } 480 481 #[inline] 482 #[must_use] xzxz(self) -> DVec4483 fn xzxz(self) -> DVec4 { 484 DVec4::new(self.x, self.z, self.x, self.z) 485 } 486 487 #[inline] 488 #[must_use] xzyx(self) -> DVec4489 fn xzyx(self) -> DVec4 { 490 DVec4::new(self.x, self.z, self.y, self.x) 491 } 492 493 #[inline] 494 #[must_use] xzyy(self) -> DVec4495 fn xzyy(self) -> DVec4 { 496 DVec4::new(self.x, self.z, self.y, self.y) 497 } 498 499 #[inline] 500 #[must_use] xzyz(self) -> DVec4501 fn xzyz(self) -> DVec4 { 502 DVec4::new(self.x, self.z, self.y, self.z) 503 } 504 505 #[inline] 506 #[must_use] xzzx(self) -> DVec4507 fn xzzx(self) -> DVec4 { 508 DVec4::new(self.x, self.z, self.z, self.x) 509 } 510 511 #[inline] 512 #[must_use] xzzy(self) -> DVec4513 fn xzzy(self) -> DVec4 { 514 DVec4::new(self.x, self.z, self.z, self.y) 515 } 516 517 #[inline] 518 #[must_use] xzzz(self) -> DVec4519 fn xzzz(self) -> DVec4 { 520 DVec4::new(self.x, self.z, self.z, self.z) 521 } 522 523 #[inline] 524 #[must_use] yxxx(self) -> DVec4525 fn yxxx(self) -> DVec4 { 526 DVec4::new(self.y, self.x, self.x, self.x) 527 } 528 529 #[inline] 530 #[must_use] yxxy(self) -> DVec4531 fn yxxy(self) -> DVec4 { 532 DVec4::new(self.y, self.x, self.x, self.y) 533 } 534 535 #[inline] 536 #[must_use] yxxz(self) -> DVec4537 fn yxxz(self) -> DVec4 { 538 DVec4::new(self.y, self.x, self.x, self.z) 539 } 540 541 #[inline] 542 #[must_use] yxyx(self) -> DVec4543 fn yxyx(self) -> DVec4 { 544 DVec4::new(self.y, self.x, self.y, self.x) 545 } 546 547 #[inline] 548 #[must_use] yxyy(self) -> DVec4549 fn yxyy(self) -> DVec4 { 550 DVec4::new(self.y, self.x, self.y, self.y) 551 } 552 553 #[inline] 554 #[must_use] yxyz(self) -> DVec4555 fn yxyz(self) -> DVec4 { 556 DVec4::new(self.y, self.x, self.y, self.z) 557 } 558 559 #[inline] 560 #[must_use] yxzx(self) -> DVec4561 fn yxzx(self) -> DVec4 { 562 DVec4::new(self.y, self.x, self.z, self.x) 563 } 564 565 #[inline] 566 #[must_use] yxzy(self) -> DVec4567 fn yxzy(self) -> DVec4 { 568 DVec4::new(self.y, self.x, self.z, self.y) 569 } 570 571 #[inline] 572 #[must_use] yxzz(self) -> DVec4573 fn yxzz(self) -> DVec4 { 574 DVec4::new(self.y, self.x, self.z, self.z) 575 } 576 577 #[inline] 578 #[must_use] yyxx(self) -> DVec4579 fn yyxx(self) -> DVec4 { 580 DVec4::new(self.y, self.y, self.x, self.x) 581 } 582 583 #[inline] 584 #[must_use] yyxy(self) -> DVec4585 fn yyxy(self) -> DVec4 { 586 DVec4::new(self.y, self.y, self.x, self.y) 587 } 588 589 #[inline] 590 #[must_use] yyxz(self) -> DVec4591 fn yyxz(self) -> DVec4 { 592 DVec4::new(self.y, self.y, self.x, self.z) 593 } 594 595 #[inline] 596 #[must_use] yyyx(self) -> DVec4597 fn yyyx(self) -> DVec4 { 598 DVec4::new(self.y, self.y, self.y, self.x) 599 } 600 601 #[inline] 602 #[must_use] yyyy(self) -> DVec4603 fn yyyy(self) -> DVec4 { 604 DVec4::new(self.y, self.y, self.y, self.y) 605 } 606 607 #[inline] 608 #[must_use] yyyz(self) -> DVec4609 fn yyyz(self) -> DVec4 { 610 DVec4::new(self.y, self.y, self.y, self.z) 611 } 612 613 #[inline] 614 #[must_use] yyzx(self) -> DVec4615 fn yyzx(self) -> DVec4 { 616 DVec4::new(self.y, self.y, self.z, self.x) 617 } 618 619 #[inline] 620 #[must_use] yyzy(self) -> DVec4621 fn yyzy(self) -> DVec4 { 622 DVec4::new(self.y, self.y, self.z, self.y) 623 } 624 625 #[inline] 626 #[must_use] yyzz(self) -> DVec4627 fn yyzz(self) -> DVec4 { 628 DVec4::new(self.y, self.y, self.z, self.z) 629 } 630 631 #[inline] 632 #[must_use] yzxx(self) -> DVec4633 fn yzxx(self) -> DVec4 { 634 DVec4::new(self.y, self.z, self.x, self.x) 635 } 636 637 #[inline] 638 #[must_use] yzxy(self) -> DVec4639 fn yzxy(self) -> DVec4 { 640 DVec4::new(self.y, self.z, self.x, self.y) 641 } 642 643 #[inline] 644 #[must_use] yzxz(self) -> DVec4645 fn yzxz(self) -> DVec4 { 646 DVec4::new(self.y, self.z, self.x, self.z) 647 } 648 649 #[inline] 650 #[must_use] yzyx(self) -> DVec4651 fn yzyx(self) -> DVec4 { 652 DVec4::new(self.y, self.z, self.y, self.x) 653 } 654 655 #[inline] 656 #[must_use] yzyy(self) -> DVec4657 fn yzyy(self) -> DVec4 { 658 DVec4::new(self.y, self.z, self.y, self.y) 659 } 660 661 #[inline] 662 #[must_use] yzyz(self) -> DVec4663 fn yzyz(self) -> DVec4 { 664 DVec4::new(self.y, self.z, self.y, self.z) 665 } 666 667 #[inline] 668 #[must_use] yzzx(self) -> DVec4669 fn yzzx(self) -> DVec4 { 670 DVec4::new(self.y, self.z, self.z, self.x) 671 } 672 673 #[inline] 674 #[must_use] yzzy(self) -> DVec4675 fn yzzy(self) -> DVec4 { 676 DVec4::new(self.y, self.z, self.z, self.y) 677 } 678 679 #[inline] 680 #[must_use] yzzz(self) -> DVec4681 fn yzzz(self) -> DVec4 { 682 DVec4::new(self.y, self.z, self.z, self.z) 683 } 684 685 #[inline] 686 #[must_use] zxxx(self) -> DVec4687 fn zxxx(self) -> DVec4 { 688 DVec4::new(self.z, self.x, self.x, self.x) 689 } 690 691 #[inline] 692 #[must_use] zxxy(self) -> DVec4693 fn zxxy(self) -> DVec4 { 694 DVec4::new(self.z, self.x, self.x, self.y) 695 } 696 697 #[inline] 698 #[must_use] zxxz(self) -> DVec4699 fn zxxz(self) -> DVec4 { 700 DVec4::new(self.z, self.x, self.x, self.z) 701 } 702 703 #[inline] 704 #[must_use] zxyx(self) -> DVec4705 fn zxyx(self) -> DVec4 { 706 DVec4::new(self.z, self.x, self.y, self.x) 707 } 708 709 #[inline] 710 #[must_use] zxyy(self) -> DVec4711 fn zxyy(self) -> DVec4 { 712 DVec4::new(self.z, self.x, self.y, self.y) 713 } 714 715 #[inline] 716 #[must_use] zxyz(self) -> DVec4717 fn zxyz(self) -> DVec4 { 718 DVec4::new(self.z, self.x, self.y, self.z) 719 } 720 721 #[inline] 722 #[must_use] zxzx(self) -> DVec4723 fn zxzx(self) -> DVec4 { 724 DVec4::new(self.z, self.x, self.z, self.x) 725 } 726 727 #[inline] 728 #[must_use] zxzy(self) -> DVec4729 fn zxzy(self) -> DVec4 { 730 DVec4::new(self.z, self.x, self.z, self.y) 731 } 732 733 #[inline] 734 #[must_use] zxzz(self) -> DVec4735 fn zxzz(self) -> DVec4 { 736 DVec4::new(self.z, self.x, self.z, self.z) 737 } 738 739 #[inline] 740 #[must_use] zyxx(self) -> DVec4741 fn zyxx(self) -> DVec4 { 742 DVec4::new(self.z, self.y, self.x, self.x) 743 } 744 745 #[inline] 746 #[must_use] zyxy(self) -> DVec4747 fn zyxy(self) -> DVec4 { 748 DVec4::new(self.z, self.y, self.x, self.y) 749 } 750 751 #[inline] 752 #[must_use] zyxz(self) -> DVec4753 fn zyxz(self) -> DVec4 { 754 DVec4::new(self.z, self.y, self.x, self.z) 755 } 756 757 #[inline] 758 #[must_use] zyyx(self) -> DVec4759 fn zyyx(self) -> DVec4 { 760 DVec4::new(self.z, self.y, self.y, self.x) 761 } 762 763 #[inline] 764 #[must_use] zyyy(self) -> DVec4765 fn zyyy(self) -> DVec4 { 766 DVec4::new(self.z, self.y, self.y, self.y) 767 } 768 769 #[inline] 770 #[must_use] zyyz(self) -> DVec4771 fn zyyz(self) -> DVec4 { 772 DVec4::new(self.z, self.y, self.y, self.z) 773 } 774 775 #[inline] 776 #[must_use] zyzx(self) -> DVec4777 fn zyzx(self) -> DVec4 { 778 DVec4::new(self.z, self.y, self.z, self.x) 779 } 780 781 #[inline] 782 #[must_use] zyzy(self) -> DVec4783 fn zyzy(self) -> DVec4 { 784 DVec4::new(self.z, self.y, self.z, self.y) 785 } 786 787 #[inline] 788 #[must_use] zyzz(self) -> DVec4789 fn zyzz(self) -> DVec4 { 790 DVec4::new(self.z, self.y, self.z, self.z) 791 } 792 793 #[inline] 794 #[must_use] zzxx(self) -> DVec4795 fn zzxx(self) -> DVec4 { 796 DVec4::new(self.z, self.z, self.x, self.x) 797 } 798 799 #[inline] 800 #[must_use] zzxy(self) -> DVec4801 fn zzxy(self) -> DVec4 { 802 DVec4::new(self.z, self.z, self.x, self.y) 803 } 804 805 #[inline] 806 #[must_use] zzxz(self) -> DVec4807 fn zzxz(self) -> DVec4 { 808 DVec4::new(self.z, self.z, self.x, self.z) 809 } 810 811 #[inline] 812 #[must_use] zzyx(self) -> DVec4813 fn zzyx(self) -> DVec4 { 814 DVec4::new(self.z, self.z, self.y, self.x) 815 } 816 817 #[inline] 818 #[must_use] zzyy(self) -> DVec4819 fn zzyy(self) -> DVec4 { 820 DVec4::new(self.z, self.z, self.y, self.y) 821 } 822 823 #[inline] 824 #[must_use] zzyz(self) -> DVec4825 fn zzyz(self) -> DVec4 { 826 DVec4::new(self.z, self.z, self.y, self.z) 827 } 828 829 #[inline] 830 #[must_use] zzzx(self) -> DVec4831 fn zzzx(self) -> DVec4 { 832 DVec4::new(self.z, self.z, self.z, self.x) 833 } 834 835 #[inline] 836 #[must_use] zzzy(self) -> DVec4837 fn zzzy(self) -> DVec4 { 838 DVec4::new(self.z, self.z, self.z, self.y) 839 } 840 841 #[inline] 842 #[must_use] zzzz(self) -> DVec4843 fn zzzz(self) -> DVec4 { 844 DVec4::new(self.z, self.z, self.z, self.z) 845 } 846 } 847