1 // Generated from swizzle_impl.rs.tera template. Edit the template, not the generated file. 2 3 use crate::{UVec2, UVec3, UVec4, Vec3Swizzles}; 4 5 impl Vec3Swizzles for UVec3 { 6 type Vec2 = UVec2; 7 8 type Vec4 = UVec4; 9 10 #[inline] 11 #[must_use] xx(self) -> UVec212 fn xx(self) -> UVec2 { 13 UVec2 { 14 x: self.x, 15 y: self.x, 16 } 17 } 18 19 #[inline] 20 #[must_use] xy(self) -> UVec221 fn xy(self) -> UVec2 { 22 UVec2 { 23 x: self.x, 24 y: self.y, 25 } 26 } 27 28 #[inline] 29 #[must_use] with_xy(self, rhs: UVec2) -> Self30 fn with_xy(self, rhs: UVec2) -> Self { 31 Self::new(rhs.x, rhs.y, self.z) 32 } 33 34 #[inline] 35 #[must_use] xz(self) -> UVec236 fn xz(self) -> UVec2 { 37 UVec2 { 38 x: self.x, 39 y: self.z, 40 } 41 } 42 43 #[inline] 44 #[must_use] with_xz(self, rhs: UVec2) -> Self45 fn with_xz(self, rhs: UVec2) -> Self { 46 Self::new(rhs.x, self.y, rhs.y) 47 } 48 49 #[inline] 50 #[must_use] yx(self) -> UVec251 fn yx(self) -> UVec2 { 52 UVec2 { 53 x: self.y, 54 y: self.x, 55 } 56 } 57 58 #[inline] 59 #[must_use] with_yx(self, rhs: UVec2) -> Self60 fn with_yx(self, rhs: UVec2) -> Self { 61 Self::new(rhs.y, rhs.x, self.z) 62 } 63 64 #[inline] 65 #[must_use] yy(self) -> UVec266 fn yy(self) -> UVec2 { 67 UVec2 { 68 x: self.y, 69 y: self.y, 70 } 71 } 72 73 #[inline] 74 #[must_use] yz(self) -> UVec275 fn yz(self) -> UVec2 { 76 UVec2 { 77 x: self.y, 78 y: self.z, 79 } 80 } 81 82 #[inline] 83 #[must_use] with_yz(self, rhs: UVec2) -> Self84 fn with_yz(self, rhs: UVec2) -> Self { 85 Self::new(self.x, rhs.x, rhs.y) 86 } 87 88 #[inline] 89 #[must_use] zx(self) -> UVec290 fn zx(self) -> UVec2 { 91 UVec2 { 92 x: self.z, 93 y: self.x, 94 } 95 } 96 97 #[inline] 98 #[must_use] with_zx(self, rhs: UVec2) -> Self99 fn with_zx(self, rhs: UVec2) -> Self { 100 Self::new(rhs.y, self.y, rhs.x) 101 } 102 103 #[inline] 104 #[must_use] zy(self) -> UVec2105 fn zy(self) -> UVec2 { 106 UVec2 { 107 x: self.z, 108 y: self.y, 109 } 110 } 111 112 #[inline] 113 #[must_use] with_zy(self, rhs: UVec2) -> Self114 fn with_zy(self, rhs: UVec2) -> Self { 115 Self::new(self.x, rhs.y, rhs.x) 116 } 117 118 #[inline] 119 #[must_use] zz(self) -> UVec2120 fn zz(self) -> UVec2 { 121 UVec2 { 122 x: self.z, 123 y: self.z, 124 } 125 } 126 127 #[inline] 128 #[must_use] xxx(self) -> UVec3129 fn xxx(self) -> UVec3 { 130 UVec3::new(self.x, self.x, self.x) 131 } 132 133 #[inline] 134 #[must_use] xxy(self) -> UVec3135 fn xxy(self) -> UVec3 { 136 UVec3::new(self.x, self.x, self.y) 137 } 138 139 #[inline] 140 #[must_use] xxz(self) -> UVec3141 fn xxz(self) -> UVec3 { 142 UVec3::new(self.x, self.x, self.z) 143 } 144 145 #[inline] 146 #[must_use] xyx(self) -> UVec3147 fn xyx(self) -> UVec3 { 148 UVec3::new(self.x, self.y, self.x) 149 } 150 151 #[inline] 152 #[must_use] xyy(self) -> UVec3153 fn xyy(self) -> UVec3 { 154 UVec3::new(self.x, self.y, self.y) 155 } 156 157 #[inline] 158 #[must_use] xzx(self) -> UVec3159 fn xzx(self) -> UVec3 { 160 UVec3::new(self.x, self.z, self.x) 161 } 162 163 #[inline] 164 #[must_use] xzy(self) -> UVec3165 fn xzy(self) -> UVec3 { 166 UVec3::new(self.x, self.z, self.y) 167 } 168 169 #[inline] 170 #[must_use] xzz(self) -> UVec3171 fn xzz(self) -> UVec3 { 172 UVec3::new(self.x, self.z, self.z) 173 } 174 175 #[inline] 176 #[must_use] yxx(self) -> UVec3177 fn yxx(self) -> UVec3 { 178 UVec3::new(self.y, self.x, self.x) 179 } 180 181 #[inline] 182 #[must_use] yxy(self) -> UVec3183 fn yxy(self) -> UVec3 { 184 UVec3::new(self.y, self.x, self.y) 185 } 186 187 #[inline] 188 #[must_use] yxz(self) -> UVec3189 fn yxz(self) -> UVec3 { 190 UVec3::new(self.y, self.x, self.z) 191 } 192 193 #[inline] 194 #[must_use] yyx(self) -> UVec3195 fn yyx(self) -> UVec3 { 196 UVec3::new(self.y, self.y, self.x) 197 } 198 199 #[inline] 200 #[must_use] yyy(self) -> UVec3201 fn yyy(self) -> UVec3 { 202 UVec3::new(self.y, self.y, self.y) 203 } 204 205 #[inline] 206 #[must_use] yyz(self) -> UVec3207 fn yyz(self) -> UVec3 { 208 UVec3::new(self.y, self.y, self.z) 209 } 210 211 #[inline] 212 #[must_use] yzx(self) -> UVec3213 fn yzx(self) -> UVec3 { 214 UVec3::new(self.y, self.z, self.x) 215 } 216 217 #[inline] 218 #[must_use] yzy(self) -> UVec3219 fn yzy(self) -> UVec3 { 220 UVec3::new(self.y, self.z, self.y) 221 } 222 223 #[inline] 224 #[must_use] yzz(self) -> UVec3225 fn yzz(self) -> UVec3 { 226 UVec3::new(self.y, self.z, self.z) 227 } 228 229 #[inline] 230 #[must_use] zxx(self) -> UVec3231 fn zxx(self) -> UVec3 { 232 UVec3::new(self.z, self.x, self.x) 233 } 234 235 #[inline] 236 #[must_use] zxy(self) -> UVec3237 fn zxy(self) -> UVec3 { 238 UVec3::new(self.z, self.x, self.y) 239 } 240 241 #[inline] 242 #[must_use] zxz(self) -> UVec3243 fn zxz(self) -> UVec3 { 244 UVec3::new(self.z, self.x, self.z) 245 } 246 247 #[inline] 248 #[must_use] zyx(self) -> UVec3249 fn zyx(self) -> UVec3 { 250 UVec3::new(self.z, self.y, self.x) 251 } 252 253 #[inline] 254 #[must_use] zyy(self) -> UVec3255 fn zyy(self) -> UVec3 { 256 UVec3::new(self.z, self.y, self.y) 257 } 258 259 #[inline] 260 #[must_use] zyz(self) -> UVec3261 fn zyz(self) -> UVec3 { 262 UVec3::new(self.z, self.y, self.z) 263 } 264 265 #[inline] 266 #[must_use] zzx(self) -> UVec3267 fn zzx(self) -> UVec3 { 268 UVec3::new(self.z, self.z, self.x) 269 } 270 271 #[inline] 272 #[must_use] zzy(self) -> UVec3273 fn zzy(self) -> UVec3 { 274 UVec3::new(self.z, self.z, self.y) 275 } 276 277 #[inline] 278 #[must_use] zzz(self) -> UVec3279 fn zzz(self) -> UVec3 { 280 UVec3::new(self.z, self.z, self.z) 281 } 282 283 #[inline] 284 #[must_use] xxxx(self) -> UVec4285 fn xxxx(self) -> UVec4 { 286 UVec4::new(self.x, self.x, self.x, self.x) 287 } 288 289 #[inline] 290 #[must_use] xxxy(self) -> UVec4291 fn xxxy(self) -> UVec4 { 292 UVec4::new(self.x, self.x, self.x, self.y) 293 } 294 295 #[inline] 296 #[must_use] xxxz(self) -> UVec4297 fn xxxz(self) -> UVec4 { 298 UVec4::new(self.x, self.x, self.x, self.z) 299 } 300 301 #[inline] 302 #[must_use] xxyx(self) -> UVec4303 fn xxyx(self) -> UVec4 { 304 UVec4::new(self.x, self.x, self.y, self.x) 305 } 306 307 #[inline] 308 #[must_use] xxyy(self) -> UVec4309 fn xxyy(self) -> UVec4 { 310 UVec4::new(self.x, self.x, self.y, self.y) 311 } 312 313 #[inline] 314 #[must_use] xxyz(self) -> UVec4315 fn xxyz(self) -> UVec4 { 316 UVec4::new(self.x, self.x, self.y, self.z) 317 } 318 319 #[inline] 320 #[must_use] xxzx(self) -> UVec4321 fn xxzx(self) -> UVec4 { 322 UVec4::new(self.x, self.x, self.z, self.x) 323 } 324 325 #[inline] 326 #[must_use] xxzy(self) -> UVec4327 fn xxzy(self) -> UVec4 { 328 UVec4::new(self.x, self.x, self.z, self.y) 329 } 330 331 #[inline] 332 #[must_use] xxzz(self) -> UVec4333 fn xxzz(self) -> UVec4 { 334 UVec4::new(self.x, self.x, self.z, self.z) 335 } 336 337 #[inline] 338 #[must_use] xyxx(self) -> UVec4339 fn xyxx(self) -> UVec4 { 340 UVec4::new(self.x, self.y, self.x, self.x) 341 } 342 343 #[inline] 344 #[must_use] xyxy(self) -> UVec4345 fn xyxy(self) -> UVec4 { 346 UVec4::new(self.x, self.y, self.x, self.y) 347 } 348 349 #[inline] 350 #[must_use] xyxz(self) -> UVec4351 fn xyxz(self) -> UVec4 { 352 UVec4::new(self.x, self.y, self.x, self.z) 353 } 354 355 #[inline] 356 #[must_use] xyyx(self) -> UVec4357 fn xyyx(self) -> UVec4 { 358 UVec4::new(self.x, self.y, self.y, self.x) 359 } 360 361 #[inline] 362 #[must_use] xyyy(self) -> UVec4363 fn xyyy(self) -> UVec4 { 364 UVec4::new(self.x, self.y, self.y, self.y) 365 } 366 367 #[inline] 368 #[must_use] xyyz(self) -> UVec4369 fn xyyz(self) -> UVec4 { 370 UVec4::new(self.x, self.y, self.y, self.z) 371 } 372 373 #[inline] 374 #[must_use] xyzx(self) -> UVec4375 fn xyzx(self) -> UVec4 { 376 UVec4::new(self.x, self.y, self.z, self.x) 377 } 378 379 #[inline] 380 #[must_use] xyzy(self) -> UVec4381 fn xyzy(self) -> UVec4 { 382 UVec4::new(self.x, self.y, self.z, self.y) 383 } 384 385 #[inline] 386 #[must_use] xyzz(self) -> UVec4387 fn xyzz(self) -> UVec4 { 388 UVec4::new(self.x, self.y, self.z, self.z) 389 } 390 391 #[inline] 392 #[must_use] xzxx(self) -> UVec4393 fn xzxx(self) -> UVec4 { 394 UVec4::new(self.x, self.z, self.x, self.x) 395 } 396 397 #[inline] 398 #[must_use] xzxy(self) -> UVec4399 fn xzxy(self) -> UVec4 { 400 UVec4::new(self.x, self.z, self.x, self.y) 401 } 402 403 #[inline] 404 #[must_use] xzxz(self) -> UVec4405 fn xzxz(self) -> UVec4 { 406 UVec4::new(self.x, self.z, self.x, self.z) 407 } 408 409 #[inline] 410 #[must_use] xzyx(self) -> UVec4411 fn xzyx(self) -> UVec4 { 412 UVec4::new(self.x, self.z, self.y, self.x) 413 } 414 415 #[inline] 416 #[must_use] xzyy(self) -> UVec4417 fn xzyy(self) -> UVec4 { 418 UVec4::new(self.x, self.z, self.y, self.y) 419 } 420 421 #[inline] 422 #[must_use] xzyz(self) -> UVec4423 fn xzyz(self) -> UVec4 { 424 UVec4::new(self.x, self.z, self.y, self.z) 425 } 426 427 #[inline] 428 #[must_use] xzzx(self) -> UVec4429 fn xzzx(self) -> UVec4 { 430 UVec4::new(self.x, self.z, self.z, self.x) 431 } 432 433 #[inline] 434 #[must_use] xzzy(self) -> UVec4435 fn xzzy(self) -> UVec4 { 436 UVec4::new(self.x, self.z, self.z, self.y) 437 } 438 439 #[inline] 440 #[must_use] xzzz(self) -> UVec4441 fn xzzz(self) -> UVec4 { 442 UVec4::new(self.x, self.z, self.z, self.z) 443 } 444 445 #[inline] 446 #[must_use] yxxx(self) -> UVec4447 fn yxxx(self) -> UVec4 { 448 UVec4::new(self.y, self.x, self.x, self.x) 449 } 450 451 #[inline] 452 #[must_use] yxxy(self) -> UVec4453 fn yxxy(self) -> UVec4 { 454 UVec4::new(self.y, self.x, self.x, self.y) 455 } 456 457 #[inline] 458 #[must_use] yxxz(self) -> UVec4459 fn yxxz(self) -> UVec4 { 460 UVec4::new(self.y, self.x, self.x, self.z) 461 } 462 463 #[inline] 464 #[must_use] yxyx(self) -> UVec4465 fn yxyx(self) -> UVec4 { 466 UVec4::new(self.y, self.x, self.y, self.x) 467 } 468 469 #[inline] 470 #[must_use] yxyy(self) -> UVec4471 fn yxyy(self) -> UVec4 { 472 UVec4::new(self.y, self.x, self.y, self.y) 473 } 474 475 #[inline] 476 #[must_use] yxyz(self) -> UVec4477 fn yxyz(self) -> UVec4 { 478 UVec4::new(self.y, self.x, self.y, self.z) 479 } 480 481 #[inline] 482 #[must_use] yxzx(self) -> UVec4483 fn yxzx(self) -> UVec4 { 484 UVec4::new(self.y, self.x, self.z, self.x) 485 } 486 487 #[inline] 488 #[must_use] yxzy(self) -> UVec4489 fn yxzy(self) -> UVec4 { 490 UVec4::new(self.y, self.x, self.z, self.y) 491 } 492 493 #[inline] 494 #[must_use] yxzz(self) -> UVec4495 fn yxzz(self) -> UVec4 { 496 UVec4::new(self.y, self.x, self.z, self.z) 497 } 498 499 #[inline] 500 #[must_use] yyxx(self) -> UVec4501 fn yyxx(self) -> UVec4 { 502 UVec4::new(self.y, self.y, self.x, self.x) 503 } 504 505 #[inline] 506 #[must_use] yyxy(self) -> UVec4507 fn yyxy(self) -> UVec4 { 508 UVec4::new(self.y, self.y, self.x, self.y) 509 } 510 511 #[inline] 512 #[must_use] yyxz(self) -> UVec4513 fn yyxz(self) -> UVec4 { 514 UVec4::new(self.y, self.y, self.x, self.z) 515 } 516 517 #[inline] 518 #[must_use] yyyx(self) -> UVec4519 fn yyyx(self) -> UVec4 { 520 UVec4::new(self.y, self.y, self.y, self.x) 521 } 522 523 #[inline] 524 #[must_use] yyyy(self) -> UVec4525 fn yyyy(self) -> UVec4 { 526 UVec4::new(self.y, self.y, self.y, self.y) 527 } 528 529 #[inline] 530 #[must_use] yyyz(self) -> UVec4531 fn yyyz(self) -> UVec4 { 532 UVec4::new(self.y, self.y, self.y, self.z) 533 } 534 535 #[inline] 536 #[must_use] yyzx(self) -> UVec4537 fn yyzx(self) -> UVec4 { 538 UVec4::new(self.y, self.y, self.z, self.x) 539 } 540 541 #[inline] 542 #[must_use] yyzy(self) -> UVec4543 fn yyzy(self) -> UVec4 { 544 UVec4::new(self.y, self.y, self.z, self.y) 545 } 546 547 #[inline] 548 #[must_use] yyzz(self) -> UVec4549 fn yyzz(self) -> UVec4 { 550 UVec4::new(self.y, self.y, self.z, self.z) 551 } 552 553 #[inline] 554 #[must_use] yzxx(self) -> UVec4555 fn yzxx(self) -> UVec4 { 556 UVec4::new(self.y, self.z, self.x, self.x) 557 } 558 559 #[inline] 560 #[must_use] yzxy(self) -> UVec4561 fn yzxy(self) -> UVec4 { 562 UVec4::new(self.y, self.z, self.x, self.y) 563 } 564 565 #[inline] 566 #[must_use] yzxz(self) -> UVec4567 fn yzxz(self) -> UVec4 { 568 UVec4::new(self.y, self.z, self.x, self.z) 569 } 570 571 #[inline] 572 #[must_use] yzyx(self) -> UVec4573 fn yzyx(self) -> UVec4 { 574 UVec4::new(self.y, self.z, self.y, self.x) 575 } 576 577 #[inline] 578 #[must_use] yzyy(self) -> UVec4579 fn yzyy(self) -> UVec4 { 580 UVec4::new(self.y, self.z, self.y, self.y) 581 } 582 583 #[inline] 584 #[must_use] yzyz(self) -> UVec4585 fn yzyz(self) -> UVec4 { 586 UVec4::new(self.y, self.z, self.y, self.z) 587 } 588 589 #[inline] 590 #[must_use] yzzx(self) -> UVec4591 fn yzzx(self) -> UVec4 { 592 UVec4::new(self.y, self.z, self.z, self.x) 593 } 594 595 #[inline] 596 #[must_use] yzzy(self) -> UVec4597 fn yzzy(self) -> UVec4 { 598 UVec4::new(self.y, self.z, self.z, self.y) 599 } 600 601 #[inline] 602 #[must_use] yzzz(self) -> UVec4603 fn yzzz(self) -> UVec4 { 604 UVec4::new(self.y, self.z, self.z, self.z) 605 } 606 607 #[inline] 608 #[must_use] zxxx(self) -> UVec4609 fn zxxx(self) -> UVec4 { 610 UVec4::new(self.z, self.x, self.x, self.x) 611 } 612 613 #[inline] 614 #[must_use] zxxy(self) -> UVec4615 fn zxxy(self) -> UVec4 { 616 UVec4::new(self.z, self.x, self.x, self.y) 617 } 618 619 #[inline] 620 #[must_use] zxxz(self) -> UVec4621 fn zxxz(self) -> UVec4 { 622 UVec4::new(self.z, self.x, self.x, self.z) 623 } 624 625 #[inline] 626 #[must_use] zxyx(self) -> UVec4627 fn zxyx(self) -> UVec4 { 628 UVec4::new(self.z, self.x, self.y, self.x) 629 } 630 631 #[inline] 632 #[must_use] zxyy(self) -> UVec4633 fn zxyy(self) -> UVec4 { 634 UVec4::new(self.z, self.x, self.y, self.y) 635 } 636 637 #[inline] 638 #[must_use] zxyz(self) -> UVec4639 fn zxyz(self) -> UVec4 { 640 UVec4::new(self.z, self.x, self.y, self.z) 641 } 642 643 #[inline] 644 #[must_use] zxzx(self) -> UVec4645 fn zxzx(self) -> UVec4 { 646 UVec4::new(self.z, self.x, self.z, self.x) 647 } 648 649 #[inline] 650 #[must_use] zxzy(self) -> UVec4651 fn zxzy(self) -> UVec4 { 652 UVec4::new(self.z, self.x, self.z, self.y) 653 } 654 655 #[inline] 656 #[must_use] zxzz(self) -> UVec4657 fn zxzz(self) -> UVec4 { 658 UVec4::new(self.z, self.x, self.z, self.z) 659 } 660 661 #[inline] 662 #[must_use] zyxx(self) -> UVec4663 fn zyxx(self) -> UVec4 { 664 UVec4::new(self.z, self.y, self.x, self.x) 665 } 666 667 #[inline] 668 #[must_use] zyxy(self) -> UVec4669 fn zyxy(self) -> UVec4 { 670 UVec4::new(self.z, self.y, self.x, self.y) 671 } 672 673 #[inline] 674 #[must_use] zyxz(self) -> UVec4675 fn zyxz(self) -> UVec4 { 676 UVec4::new(self.z, self.y, self.x, self.z) 677 } 678 679 #[inline] 680 #[must_use] zyyx(self) -> UVec4681 fn zyyx(self) -> UVec4 { 682 UVec4::new(self.z, self.y, self.y, self.x) 683 } 684 685 #[inline] 686 #[must_use] zyyy(self) -> UVec4687 fn zyyy(self) -> UVec4 { 688 UVec4::new(self.z, self.y, self.y, self.y) 689 } 690 691 #[inline] 692 #[must_use] zyyz(self) -> UVec4693 fn zyyz(self) -> UVec4 { 694 UVec4::new(self.z, self.y, self.y, self.z) 695 } 696 697 #[inline] 698 #[must_use] zyzx(self) -> UVec4699 fn zyzx(self) -> UVec4 { 700 UVec4::new(self.z, self.y, self.z, self.x) 701 } 702 703 #[inline] 704 #[must_use] zyzy(self) -> UVec4705 fn zyzy(self) -> UVec4 { 706 UVec4::new(self.z, self.y, self.z, self.y) 707 } 708 709 #[inline] 710 #[must_use] zyzz(self) -> UVec4711 fn zyzz(self) -> UVec4 { 712 UVec4::new(self.z, self.y, self.z, self.z) 713 } 714 715 #[inline] 716 #[must_use] zzxx(self) -> UVec4717 fn zzxx(self) -> UVec4 { 718 UVec4::new(self.z, self.z, self.x, self.x) 719 } 720 721 #[inline] 722 #[must_use] zzxy(self) -> UVec4723 fn zzxy(self) -> UVec4 { 724 UVec4::new(self.z, self.z, self.x, self.y) 725 } 726 727 #[inline] 728 #[must_use] zzxz(self) -> UVec4729 fn zzxz(self) -> UVec4 { 730 UVec4::new(self.z, self.z, self.x, self.z) 731 } 732 733 #[inline] 734 #[must_use] zzyx(self) -> UVec4735 fn zzyx(self) -> UVec4 { 736 UVec4::new(self.z, self.z, self.y, self.x) 737 } 738 739 #[inline] 740 #[must_use] zzyy(self) -> UVec4741 fn zzyy(self) -> UVec4 { 742 UVec4::new(self.z, self.z, self.y, self.y) 743 } 744 745 #[inline] 746 #[must_use] zzyz(self) -> UVec4747 fn zzyz(self) -> UVec4 { 748 UVec4::new(self.z, self.z, self.y, self.z) 749 } 750 751 #[inline] 752 #[must_use] zzzx(self) -> UVec4753 fn zzzx(self) -> UVec4 { 754 UVec4::new(self.z, self.z, self.z, self.x) 755 } 756 757 #[inline] 758 #[must_use] zzzy(self) -> UVec4759 fn zzzy(self) -> UVec4 { 760 UVec4::new(self.z, self.z, self.z, self.y) 761 } 762 763 #[inline] 764 #[must_use] zzzz(self) -> UVec4765 fn zzzz(self) -> UVec4 { 766 UVec4::new(self.z, self.z, self.z, self.z) 767 } 768 } 769