Changeset 1143
- Timestamp:
- Feb 16, 2012, 2:36:08 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/lol/math/vector.h
r1142 r1143 138 138 139 139 XVec2<T,0x00> const xx, rr, ss; 140 XVec2<T,0x01> xy, rg, st;141 XVec2<T,0x10> yx, gr, ts;140 XVec2<T,0x01> const xy, rg, st; /* lvalue */ 141 XVec2<T,0x10> const yx, gr, ts; /* lvalue */ 142 142 XVec2<T,0x11> const yy, gg, tt; 143 143 … … 280 280 281 281 XVec2<T,0x00> const xx, rr, ss; 282 XVec2<T,0x01> xy, rg, st;283 XVec2<T,0x02> xz, rb, sp;284 XVec2<T,0x10> yx, gr, ts;282 XVec2<T,0x01> const xy, rg, st; /* lvalue */ 283 XVec2<T,0x02> const xz, rb, sp; /* lvalue */ 284 XVec2<T,0x10> const yx, gr, ts; /* lvalue */ 285 285 XVec2<T,0x11> const yy, gg, tt; 286 XVec2<T,0x12> yz, gb, tp;287 XVec2<T,0x20> zx, br, ps;288 XVec2<T,0x21> zy, bg, pt;286 XVec2<T,0x12> const yz, gb, tp; /* lvalue */ 287 XVec2<T,0x20> const zx, br, ps; /* lvalue */ 288 XVec2<T,0x21> const zy, bg, pt; /* lvalue */ 289 289 XVec2<T,0x22> const zz, bb, pp; 290 290 … … 294 294 XVec3<T,0x010> const xyx, rgr, sts; 295 295 XVec3<T,0x011> const xyy, rgg, stt; 296 XVec3<T,0x012> xyz, rgb, stp;296 XVec3<T,0x012> const xyz, rgb, stp; /* lvalue */ 297 297 XVec3<T,0x020> const xzx, rbr, sps; 298 XVec3<T,0x021> xzy, rbg, spt;298 XVec3<T,0x021> const xzy, rbg, spt; /* lvalue */ 299 299 XVec3<T,0x022> const xzz, rbb, spp; 300 300 XVec3<T,0x100> const yxx, grr, tss; 301 301 XVec3<T,0x101> const yxy, grg, tst; 302 XVec3<T,0x102> yxz, grb, tsp;302 XVec3<T,0x102> const yxz, grb, tsp; /* lvalue */ 303 303 XVec3<T,0x110> const yyx, ggr, tts; 304 304 XVec3<T,0x111> const yyy, ggg, ttt; 305 305 XVec3<T,0x112> const yyz, ggb, ttp; 306 XVec3<T,0x120> yzx, gbr, tps;306 XVec3<T,0x120> const yzx, gbr, tps; /* lvalue */ 307 307 XVec3<T,0x121> const yzy, gbg, tpt; 308 308 XVec3<T,0x122> const yzz, gbb, tpp; 309 309 XVec3<T,0x200> const zxx, brr, pss; 310 XVec3<T,0x201> zxy, brg, pst;310 XVec3<T,0x201> const zxy, brg, pst; /* lvalue */ 311 311 XVec3<T,0x202> const zxz, brb, psp; 312 XVec3<T,0x210> zyx, bgr, pts;312 XVec3<T,0x210> const zyx, bgr, pts; /* lvalue */ 313 313 XVec3<T,0x211> const zyy, bgg, ptt; 314 314 XVec3<T,0x212> const zyz, bgb, ptp; … … 440 440 441 441 XVec2<T,0x00> const xx, rr, ss; 442 XVec2<T,0x01> xy, rg, st;443 XVec2<T,0x02> xz, rb, sp;444 XVec2<T,0x03> xw, ra, sq;445 XVec2<T,0x10> yx, gr, ts;442 XVec2<T,0x01> const xy, rg, st; /* lvalue */ 443 XVec2<T,0x02> const xz, rb, sp; /* lvalue */ 444 XVec2<T,0x03> const xw, ra, sq; /* lvalue */ 445 XVec2<T,0x10> const yx, gr, ts; /* lvalue */ 446 446 XVec2<T,0x11> const yy, gg, tt; 447 XVec2<T,0x12> yz, gb, tp;448 XVec2<T,0x13> yw, ga, tq;449 XVec2<T,0x20> zx, br, ps;450 XVec2<T,0x21> zy, bg, pt;447 XVec2<T,0x12> const yz, gb, tp; /* lvalue */ 448 XVec2<T,0x13> const yw, ga, tq; /* lvalue */ 449 XVec2<T,0x20> const zx, br, ps; /* lvalue */ 450 XVec2<T,0x21> const zy, bg, pt; /* lvalue */ 451 451 XVec2<T,0x22> const zz, bb, pp; 452 XVec2<T,0x23> zw, ba, pq;453 XVec2<T,0x30> wx, ar, qs;454 XVec2<T,0x31> wy, ag, qt;455 XVec2<T,0x32> wz, ab, qp;452 XVec2<T,0x23> const zw, ba, pq; /* lvalue */ 453 XVec2<T,0x30> const wx, ar, qs; /* lvalue */ 454 XVec2<T,0x31> const wy, ag, qt; /* lvalue */ 455 XVec2<T,0x32> const wz, ab, qp; /* lvalue */ 456 456 XVec2<T,0x33> const ww, aa, qq; 457 457 … … 462 462 XVec3<T,0x010> const xyx, rgr, sts; 463 463 XVec3<T,0x011> const xyy, rgg, stt; 464 XVec3<T,0x012> xyz, rgb, stp;465 XVec3<T,0x013> xyw, rga, stq;464 XVec3<T,0x012> const xyz, rgb, stp; /* lvalue */ 465 XVec3<T,0x013> const xyw, rga, stq; /* lvalue */ 466 466 XVec3<T,0x020> const xzx, rbr, sps; 467 XVec3<T,0x021> xzy, rbg, spt;467 XVec3<T,0x021> const xzy, rbg, spt; /* lvalue */ 468 468 XVec3<T,0x022> const xzz, rbb, spp; 469 XVec3<T,0x023> xzw, rba, spq;469 XVec3<T,0x023> const xzw, rba, spq; /* lvalue */ 470 470 XVec3<T,0x030> const xwx, rar, sqs; 471 XVec3<T,0x031> xwy, rag, sqt;472 XVec3<T,0x032> xwz, rab, sqp;471 XVec3<T,0x031> const xwy, rag, sqt; /* lvalue */ 472 XVec3<T,0x032> const xwz, rab, sqp; /* lvalue */ 473 473 XVec3<T,0x033> const xww, raa, sqq; 474 474 XVec3<T,0x100> const yxx, grr, tss; 475 475 XVec3<T,0x101> const yxy, grg, tst; 476 XVec3<T,0x102> yxz, grb, tsp;477 XVec3<T,0x103> yxw, gra, tsq;476 XVec3<T,0x102> const yxz, grb, tsp; /* lvalue */ 477 XVec3<T,0x103> const yxw, gra, tsq; /* lvalue */ 478 478 XVec3<T,0x110> const yyx, ggr, tts; 479 479 XVec3<T,0x111> const yyy, ggg, ttt; 480 480 XVec3<T,0x112> const yyz, ggb, ttp; 481 481 XVec3<T,0x113> const yyw, gga, ttq; 482 XVec3<T,0x120> yzx, gbr, tps;482 XVec3<T,0x120> const yzx, gbr, tps; /* lvalue */ 483 483 XVec3<T,0x121> const yzy, gbg, tpt; 484 484 XVec3<T,0x122> const yzz, gbb, tpp; 485 XVec3<T,0x123> yzw, gba, tpq;486 XVec3<T,0x130> ywx, gar, tqs;485 XVec3<T,0x123> const yzw, gba, tpq; /* lvalue */ 486 XVec3<T,0x130> const ywx, gar, tqs; /* lvalue */ 487 487 XVec3<T,0x131> const ywy, gag, tqt; 488 XVec3<T,0x132> ywz, gab, tqp;488 XVec3<T,0x132> const ywz, gab, tqp; /* lvalue */ 489 489 XVec3<T,0x133> const yww, gaa, tqq; 490 490 XVec3<T,0x200> const zxx, brr, pss; 491 XVec3<T,0x201> zxy, brg, pst;491 XVec3<T,0x201> const zxy, brg, pst; /* lvalue */ 492 492 XVec3<T,0x202> const zxz, brb, psp; 493 XVec3<T,0x203> zxw, bra, psq;494 XVec3<T,0x210> zyx, bgr, pts;493 XVec3<T,0x203> const zxw, bra, psq; /* lvalue */ 494 XVec3<T,0x210> const zyx, bgr, pts; /* lvalue */ 495 495 XVec3<T,0x211> const zyy, bgg, ptt; 496 496 XVec3<T,0x212> const zyz, bgb, ptp; 497 XVec3<T,0x213> zyw, bga, ptq;497 XVec3<T,0x213> const zyw, bga, ptq; /* lvalue */ 498 498 XVec3<T,0x220> const zzx, bbr, pps; 499 499 XVec3<T,0x221> const zzy, bbg, ppt; 500 500 XVec3<T,0x222> const zzz, bbb, ppp; 501 501 XVec3<T,0x223> const zzw, bba, ppq; 502 XVec3<T,0x230> zwx, bar, pqs;503 XVec3<T,0x231> zwy, bag, pqt;502 XVec3<T,0x230> const zwx, bar, pqs; /* lvalue */ 503 XVec3<T,0x231> const zwy, bag, pqt; /* lvalue */ 504 504 XVec3<T,0x232> const zwz, bab, pqp; 505 505 XVec3<T,0x233> const zww, baa, pqq; 506 506 XVec3<T,0x300> const wxx, arr, qss; 507 XVec3<T,0x301> wxy, arg, qst;508 XVec3<T,0x302> wxz, arb, qsp;507 XVec3<T,0x301> const wxy, arg, qst; /* lvalue */ 508 XVec3<T,0x302> const wxz, arb, qsp; /* lvalue */ 509 509 XVec3<T,0x303> const wxw, ara, qsq; 510 XVec3<T,0x310> wyx, agr, qts;510 XVec3<T,0x310> const wyx, agr, qts; /* lvalue */ 511 511 XVec3<T,0x311> const wyy, agg, qtt; 512 XVec3<T,0x312> wyz, agb, qtp;512 XVec3<T,0x312> const wyz, agb, qtp; /* lvalue */ 513 513 XVec3<T,0x313> const wyw, aga, qtq; 514 XVec3<T,0x320> wzx, abr, qps;515 XVec3<T,0x321> wzy, abg, qpt;514 XVec3<T,0x320> const wzx, abr, qps; /* lvalue */ 515 XVec3<T,0x321> const wzy, abg, qpt; /* lvalue */ 516 516 XVec3<T,0x322> const wzz, abb, qpp; 517 517 XVec3<T,0x323> const wzw, aba, qpq; … … 548 548 XVec4<T,0x0121> const xyzy, rgbg, stpt; 549 549 XVec4<T,0x0122> const xyzz, rgbb, stpp; 550 XVec4<T,0x0123> xyzw, rgba, stpq;550 XVec4<T,0x0123> const xyzw, rgba, stpq; /* lvalue */ 551 551 XVec4<T,0x0130> const xywx, rgar, stqs; 552 552 XVec4<T,0x0131> const xywy, rgag, stqt; 553 XVec4<T,0x0132> xywz, rgab, stqp;553 XVec4<T,0x0132> const xywz, rgab, stqp; /* lvalue */ 554 554 XVec4<T,0x0133> const xyww, rgaa, stqq; 555 555 XVec4<T,0x0200> const xzxx, rbrr, spss; … … 560 560 XVec4<T,0x0211> const xzyy, rbgg, sptt; 561 561 XVec4<T,0x0212> const xzyz, rbgb, sptp; 562 XVec4<T,0x0213> xzyw, rbga, sptq;562 XVec4<T,0x0213> const xzyw, rbga, sptq; /* lvalue */ 563 563 XVec4<T,0x0220> const xzzx, rbbr, spps; 564 564 XVec4<T,0x0221> const xzzy, rbbg, sppt; … … 566 566 XVec4<T,0x0223> const xzzw, rbba, sppq; 567 567 XVec4<T,0x0230> const xzwx, rbar, spqs; 568 XVec4<T,0x0231> xzwy, rbag, spqt;568 XVec4<T,0x0231> const xzwy, rbag, spqt; /* lvalue */ 569 569 XVec4<T,0x0232> const xzwz, rbab, spqp; 570 570 XVec4<T,0x0233> const xzww, rbaa, spqq; … … 575 575 XVec4<T,0x0310> const xwyx, ragr, sqts; 576 576 XVec4<T,0x0311> const xwyy, ragg, sqtt; 577 XVec4<T,0x0312> xwyz, ragb, sqtp;577 XVec4<T,0x0312> const xwyz, ragb, sqtp; /* lvalue */ 578 578 XVec4<T,0x0313> const xwyw, raga, sqtq; 579 579 XVec4<T,0x0320> const xwzx, rabr, sqps; 580 XVec4<T,0x0321> xwzy, rabg, sqpt;580 XVec4<T,0x0321> const xwzy, rabg, sqpt; /* lvalue */ 581 581 XVec4<T,0x0322> const xwzz, rabb, sqpp; 582 582 XVec4<T,0x0323> const xwzw, raba, sqpq; … … 596 596 XVec4<T,0x1021> const yxzy, grbg, tspt; 597 597 XVec4<T,0x1022> const yxzz, grbb, tspp; 598 XVec4<T,0x1023> yxzw, grba, tspq;598 XVec4<T,0x1023> const yxzw, grba, tspq; /* lvalue */ 599 599 XVec4<T,0x1030> const yxwx, grar, tsqs; 600 600 XVec4<T,0x1031> const yxwy, grag, tsqt; 601 XVec4<T,0x1032> yxwz, grab, tsqp;601 XVec4<T,0x1032> const yxwz, grab, tsqp; /* lvalue */ 602 602 XVec4<T,0x1033> const yxww, graa, tsqq; 603 603 XVec4<T,0x1100> const yyxx, ggrr, ttss; … … 620 620 XVec4<T,0x1201> const yzxy, gbrg, tpst; 621 621 XVec4<T,0x1202> const yzxz, gbrb, tpsp; 622 XVec4<T,0x1203> yzxw, gbra, tpsq;622 XVec4<T,0x1203> const yzxw, gbra, tpsq; /* lvalue */ 623 623 XVec4<T,0x1210> const yzyx, gbgr, tpts; 624 624 XVec4<T,0x1211> const yzyy, gbgg, tptt; … … 629 629 XVec4<T,0x1222> const yzzz, gbbb, tppp; 630 630 XVec4<T,0x1223> const yzzw, gbba, tppq; 631 XVec4<T,0x1230> yzwx, gbar, tpqs;631 XVec4<T,0x1230> const yzwx, gbar, tpqs; /* lvalue */ 632 632 XVec4<T,0x1231> const yzwy, gbag, tpqt; 633 633 XVec4<T,0x1232> const yzwz, gbab, tpqp; … … 635 635 XVec4<T,0x1300> const ywxx, garr, tqss; 636 636 XVec4<T,0x1301> const ywxy, garg, tqst; 637 XVec4<T,0x1302> ywxz, garb, tqsp;637 XVec4<T,0x1302> const ywxz, garb, tqsp; /* lvalue */ 638 638 XVec4<T,0x1303> const ywxw, gara, tqsq; 639 639 XVec4<T,0x1310> const ywyx, gagr, tqts; … … 641 641 XVec4<T,0x1312> const ywyz, gagb, tqtp; 642 642 XVec4<T,0x1313> const ywyw, gaga, tqtq; 643 XVec4<T,0x1320> ywzx, gabr, tqps;643 XVec4<T,0x1320> const ywzx, gabr, tqps; /* lvalue */ 644 644 XVec4<T,0x1321> const ywzy, gabg, tqpt; 645 645 XVec4<T,0x1322> const ywzz, gabb, tqpp; … … 656 656 XVec4<T,0x2011> const zxyy, brgg, pstt; 657 657 XVec4<T,0x2012> const zxyz, brgb, pstp; 658 XVec4<T,0x2013> zxyw, brga, pstq;658 XVec4<T,0x2013> const zxyw, brga, pstq; /* lvalue */ 659 659 XVec4<T,0x2020> const zxzx, brbr, psps; 660 660 XVec4<T,0x2021> const zxzy, brbg, pspt; … … 662 662 XVec4<T,0x2023> const zxzw, brba, pspq; 663 663 XVec4<T,0x2030> const zxwx, brar, psqs; 664 XVec4<T,0x2031> zxwy, brag, psqt;664 XVec4<T,0x2031> const zxwy, brag, psqt; /* lvalue */ 665 665 XVec4<T,0x2032> const zxwz, brab, psqp; 666 666 XVec4<T,0x2033> const zxww, braa, psqq; … … 668 668 XVec4<T,0x2101> const zyxy, bgrg, ptst; 669 669 XVec4<T,0x2102> const zyxz, bgrb, ptsp; 670 XVec4<T,0x2103> zyxw, bgra, ptsq;670 XVec4<T,0x2103> const zyxw, bgra, ptsq; /* lvalue */ 671 671 XVec4<T,0x2110> const zyyx, bggr, ptts; 672 672 XVec4<T,0x2111> const zyyy, bggg, pttt; … … 677 677 XVec4<T,0x2122> const zyzz, bgbb, ptpp; 678 678 XVec4<T,0x2123> const zyzw, bgba, ptpq; 679 XVec4<T,0x2130> zywx, bgar, ptqs;679 XVec4<T,0x2130> const zywx, bgar, ptqs; /* lvalue */ 680 680 XVec4<T,0x2131> const zywy, bgag, ptqt; 681 681 XVec4<T,0x2132> const zywz, bgab, ptqp; … … 698 698 XVec4<T,0x2233> const zzww, bbaa, ppqq; 699 699 XVec4<T,0x2300> const zwxx, barr, pqss; 700 XVec4<T,0x2301> zwxy, barg, pqst;700 XVec4<T,0x2301> const zwxy, barg, pqst; /* lvalue */ 701 701 XVec4<T,0x2302> const zwxz, barb, pqsp; 702 702 XVec4<T,0x2303> const zwxw, bara, pqsq; 703 XVec4<T,0x2310> zwyx, bagr, pqts;703 XVec4<T,0x2310> const zwyx, bagr, pqts; /* lvalue */ 704 704 XVec4<T,0x2311> const zwyy, bagg, pqtt; 705 705 XVec4<T,0x2312> const zwyz, bagb, pqtp; … … 719 719 XVec4<T,0x3010> const wxyx, argr, qsts; 720 720 XVec4<T,0x3011> const wxyy, argg, qstt; 721 XVec4<T,0x3012> wxyz, argb, qstp;721 XVec4<T,0x3012> const wxyz, argb, qstp; /* lvalue */ 722 722 XVec4<T,0x3013> const wxyw, arga, qstq; 723 723 XVec4<T,0x3020> const wxzx, arbr, qsps; 724 XVec4<T,0x3021> wxzy, arbg, qspt;724 XVec4<T,0x3021> const wxzy, arbg, qspt; /* lvalue */ 725 725 XVec4<T,0x3022> const wxzz, arbb, qspp; 726 726 XVec4<T,0x3023> const wxzw, arba, qspq; … … 731 731 XVec4<T,0x3100> const wyxx, agrr, qtss; 732 732 XVec4<T,0x3101> const wyxy, agrg, qtst; 733 XVec4<T,0x3102> wyxz, agrb, qtsp;733 XVec4<T,0x3102> const wyxz, agrb, qtsp; /* lvalue */ 734 734 XVec4<T,0x3103> const wyxw, agra, qtsq; 735 735 XVec4<T,0x3110> const wyyx, aggr, qtts; … … 737 737 XVec4<T,0x3112> const wyyz, aggb, qttp; 738 738 XVec4<T,0x3113> const wyyw, agga, qttq; 739 XVec4<T,0x3120> wyzx, agbr, qtps;739 XVec4<T,0x3120> const wyzx, agbr, qtps; /* lvalue */ 740 740 XVec4<T,0x3121> const wyzy, agbg, qtpt; 741 741 XVec4<T,0x3122> const wyzz, agbb, qtpp; … … 746 746 XVec4<T,0x3133> const wyww, agaa, qtqq; 747 747 XVec4<T,0x3200> const wzxx, abrr, qpss; 748 XVec4<T,0x3201> wzxy, abrg, qpst;748 XVec4<T,0x3201> const wzxy, abrg, qpst; /* lvalue */ 749 749 XVec4<T,0x3202> const wzxz, abrb, qpsp; 750 750 XVec4<T,0x3203> const wzxw, abra, qpsq; 751 XVec4<T,0x3210> wzyx, abgr, qpts;751 XVec4<T,0x3210> const wzyx, abgr, qpts; /* lvalue */ 752 752 XVec4<T,0x3211> const wzyy, abgg, qptt; 753 753 XVec4<T,0x3212> const wzyz, abgb, qptp; … … 1010 1010 /* 1011 1011 * Magic vector swizzling (part 2/2) 1012 * Unfortunately these assignment operators cannot be used for now, because 1013 * we would also need to override the default copy assignment operator, and 1014 * in C++98 unions cannot contain such objects. This is why all the swizzling 1015 * magic objects are marked 'const' even those that could be lvalues. 1012 1016 */ 1013 1017
Note: See TracChangeset
for help on using the changeset viewer.