Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _gs(x,y,z,w) ((x) | ((y) << 2) | ((z) << 4) | ((w) << 6))
- enum shuffle : unsigned
- {
- xxxx = _gs(0, 0, 0, 0),
- xxxy = _gs(0, 0, 0, 1),
- xxxz = _gs(0, 0, 0, 2),
- xxxw = _gs(0, 0, 0, 3),
- xxyx = _gs(0, 0, 1, 0),
- xxyy = _gs(0, 0, 1, 1),
- xxyz = _gs(0, 0, 1, 2),
- xxyw = _gs(0, 0, 1, 3),
- xxzx = _gs(0, 0, 2, 0),
- xxzy = _gs(0, 0, 2, 1),
- xxzz = _gs(0, 0, 2, 2),
- xxzw = _gs(0, 0, 2, 3),
- xxwx = _gs(0, 0, 3, 0),
- xxwy = _gs(0, 0, 3, 1),
- xxwz = _gs(0, 0, 3, 2),
- xxww = _gs(0, 0, 3, 3),
- xyxx = _gs(0, 1, 0, 0),
- xyxy = _gs(0, 1, 0, 1),
- xyxz = _gs(0, 1, 0, 2),
- xyxw = _gs(0, 1, 0, 3),
- xyyx = _gs(0, 1, 1, 0),
- xyyy = _gs(0, 1, 1, 1),
- xyyz = _gs(0, 1, 1, 2),
- xyyw = _gs(0, 1, 1, 3),
- xyzx = _gs(0, 1, 2, 0),
- xyzy = _gs(0, 1, 2, 1),
- xyzz = _gs(0, 1, 2, 2),
- xyzw = _gs(0, 1, 2, 3),
- xywx = _gs(0, 1, 3, 0),
- xywy = _gs(0, 1, 3, 1),
- xywz = _gs(0, 1, 3, 2),
- xyww = _gs(0, 1, 3, 3),
- xzxx = _gs(0, 2, 0, 0),
- xzxy = _gs(0, 2, 0, 1),
- xzxz = _gs(0, 2, 0, 2),
- xzxw = _gs(0, 2, 0, 3),
- xzyx = _gs(0, 2, 1, 0),
- xzyy = _gs(0, 2, 1, 1),
- xzyz = _gs(0, 2, 1, 2),
- xzyw = _gs(0, 2, 1, 3),
- xzzx = _gs(0, 2, 2, 0),
- xzzy = _gs(0, 2, 2, 1),
- xzzz = _gs(0, 2, 2, 2),
- xzzw = _gs(0, 2, 2, 3),
- xzwx = _gs(0, 2, 3, 0),
- xzwy = _gs(0, 2, 3, 1),
- xzwz = _gs(0, 2, 3, 2),
- xzww = _gs(0, 2, 3, 3),
- xwxx = _gs(0, 3, 0, 0),
- xwxy = _gs(0, 3, 0, 1),
- xwxz = _gs(0, 3, 0, 2),
- xwxw = _gs(0, 3, 0, 3),
- xwyx = _gs(0, 3, 1, 0),
- xwyy = _gs(0, 3, 1, 1),
- xwyz = _gs(0, 3, 1, 2),
- xwyw = _gs(0, 3, 1, 3),
- xwzx = _gs(0, 3, 2, 0),
- xwzy = _gs(0, 3, 2, 1),
- xwzz = _gs(0, 3, 2, 2),
- xwzw = _gs(0, 3, 2, 3),
- xwwx = _gs(0, 3, 3, 0),
- xwwy = _gs(0, 3, 3, 1),
- xwwz = _gs(0, 3, 3, 2),
- xwww = _gs(0, 3, 3, 3),
- //-------------------------
- yxxx = _gs(1, 0, 0, 0),
- yxxy = _gs(1, 0, 0, 1),
- yxxz = _gs(1, 0, 0, 2),
- yxxw = _gs(1, 0, 0, 3),
- yxyx = _gs(1, 0, 1, 0),
- yxyy = _gs(1, 0, 1, 1),
- yxyz = _gs(1, 0, 1, 2),
- yxyw = _gs(1, 0, 1, 3),
- yxzx = _gs(1, 0, 2, 0),
- yxzy = _gs(1, 0, 2, 1),
- yxzz = _gs(1, 0, 2, 2),
- yxzw = _gs(1, 0, 2, 3),
- yxwx = _gs(1, 0, 3, 0),
- yxwy = _gs(1, 0, 3, 1),
- yxwz = _gs(1, 0, 3, 2),
- yxww = _gs(1, 0, 3, 3),
- yyxx = _gs(1, 1, 0, 0),
- yyxy = _gs(1, 1, 0, 1),
- yyxz = _gs(1, 1, 0, 2),
- yyxw = _gs(1, 1, 0, 3),
- yyyx = _gs(1, 1, 1, 0),
- yyyy = _gs(1, 1, 1, 1),
- yyyz = _gs(1, 1, 1, 2),
- yyyw = _gs(1, 1, 1, 3),
- yyzx = _gs(1, 1, 2, 0),
- yyzy = _gs(1, 1, 2, 1),
- yyzz = _gs(1, 1, 2, 2),
- yyzw = _gs(1, 1, 2, 3),
- yywx = _gs(1, 1, 3, 0),
- yywy = _gs(1, 1, 3, 1),
- yywz = _gs(1, 1, 3, 2),
- yyww = _gs(1, 1, 3, 3),
- yzxx = _gs(1, 2, 0, 0),
- yzxy = _gs(1, 2, 0, 1),
- yzxz = _gs(1, 2, 0, 2),
- yzxw = _gs(1, 2, 0, 3),
- yzyx = _gs(1, 2, 1, 0),
- yzyy = _gs(1, 2, 1, 1),
- yzyz = _gs(1, 2, 1, 2),
- yzyw = _gs(1, 2, 1, 3),
- yzzx = _gs(1, 2, 2, 0),
- yzzy = _gs(1, 2, 2, 1),
- yzzz = _gs(1, 2, 2, 2),
- yzzw = _gs(1, 2, 2, 3),
- yzwx = _gs(1, 2, 3, 0),
- yzwy = _gs(1, 2, 3, 1),
- yzwz = _gs(1, 2, 3, 2),
- yzww = _gs(1, 2, 3, 3),
- ywxx = _gs(1, 3, 0, 0),
- ywxy = _gs(1, 3, 0, 1),
- ywxz = _gs(1, 3, 0, 2),
- ywxw = _gs(1, 3, 0, 3),
- ywyx = _gs(1, 3, 1, 0),
- ywyy = _gs(1, 3, 1, 1),
- ywyz = _gs(1, 3, 1, 2),
- ywyw = _gs(1, 3, 1, 3),
- ywzx = _gs(1, 3, 2, 0),
- ywzy = _gs(1, 3, 2, 1),
- ywzz = _gs(1, 3, 2, 2),
- ywzw = _gs(1, 3, 2, 3),
- ywwx = _gs(1, 3, 3, 0),
- ywwy = _gs(1, 3, 3, 1),
- ywwz = _gs(1, 3, 3, 2),
- ywww = _gs(1, 3, 3, 3),
- //-------------------------
- zxxx = _gs(2, 0, 0, 0),
- zxxy = _gs(2, 0, 0, 1),
- zxxz = _gs(2, 0, 0, 2),
- zxxw = _gs(2, 0, 0, 3),
- zxyx = _gs(2, 0, 1, 0),
- zxyy = _gs(2, 0, 1, 1),
- zxyz = _gs(2, 0, 1, 2),
- zxyw = _gs(2, 0, 1, 3),
- zxzx = _gs(2, 0, 2, 0),
- zxzy = _gs(2, 0, 2, 1),
- zxzz = _gs(2, 0, 2, 2),
- zxzw = _gs(2, 0, 2, 3),
- zxwx = _gs(2, 0, 3, 0),
- zxwy = _gs(2, 0, 3, 1),
- zxwz = _gs(2, 0, 3, 2),
- zxww = _gs(2, 0, 3, 3),
- zyxx = _gs(2, 1, 0, 0),
- zyxy = _gs(2, 1, 0, 1),
- zyxz = _gs(2, 1, 0, 2),
- zyxw = _gs(2, 1, 0, 3),
- zyyx = _gs(2, 1, 1, 0),
- zyyy = _gs(2, 1, 1, 1),
- zyyz = _gs(2, 1, 1, 2),
- zyyw = _gs(2, 1, 1, 3),
- zyzx = _gs(2, 1, 2, 0),
- zyzy = _gs(2, 1, 2, 1),
- zyzz = _gs(2, 1, 2, 2),
- zyzw = _gs(2, 1, 2, 3),
- zywx = _gs(2, 1, 3, 0),
- zywy = _gs(2, 1, 3, 1),
- zywz = _gs(2, 1, 3, 2),
- zyww = _gs(2, 1, 3, 3),
- zzxx = _gs(2, 2, 0, 0),
- zzxy = _gs(2, 2, 0, 1),
- zzxz = _gs(2, 2, 0, 2),
- zzxw = _gs(2, 2, 0, 3),
- zzyx = _gs(2, 2, 1, 0),
- zzyy = _gs(2, 2, 1, 1),
- zzyz = _gs(2, 2, 1, 2),
- zzyw = _gs(2, 2, 1, 3),
- zzzx = _gs(2, 2, 2, 0),
- zzzy = _gs(2, 2, 2, 1),
- zzzz = _gs(2, 2, 2, 2),
- zzzw = _gs(2, 2, 2, 3),
- zzwx = _gs(2, 2, 3, 0),
- zzwy = _gs(2, 2, 3, 1),
- zzwz = _gs(2, 2, 3, 2),
- zzww = _gs(2, 2, 3, 3),
- zwxx = _gs(2, 3, 0, 0),
- zwxy = _gs(2, 3, 0, 1),
- zwxz = _gs(2, 3, 0, 2),
- zwxw = _gs(2, 3, 0, 3),
- zwyx = _gs(2, 3, 1, 0),
- zwyy = _gs(2, 3, 1, 1),
- zwyz = _gs(2, 3, 1, 2),
- zwyw = _gs(2, 3, 1, 3),
- zwzx = _gs(2, 3, 2, 0),
- zwzy = _gs(2, 3, 2, 1),
- zwzz = _gs(2, 3, 2, 2),
- zwzw = _gs(2, 3, 2, 3),
- zwwx = _gs(2, 3, 3, 0),
- zwwy = _gs(2, 3, 3, 1),
- zwwz = _gs(2, 3, 3, 2),
- zwww = _gs(2, 3, 3, 3),
- //-------------------------
- wxxx = _gs(3, 0, 0, 0),
- wxxy = _gs(3, 0, 0, 1),
- wxxz = _gs(3, 0, 0, 2),
- wxxw = _gs(3, 0, 0, 3),
- wxyx = _gs(3, 0, 1, 0),
- wxyy = _gs(3, 0, 1, 1),
- wxyz = _gs(3, 0, 1, 2),
- wxyw = _gs(3, 0, 1, 3),
- wxzx = _gs(3, 0, 2, 0),
- wxzy = _gs(3, 0, 2, 1),
- wxzz = _gs(3, 0, 2, 2),
- wxzw = _gs(3, 0, 2, 3),
- wxwx = _gs(3, 0, 3, 0),
- wxwy = _gs(3, 0, 3, 1),
- wxwz = _gs(3, 0, 3, 2),
- wxww = _gs(3, 0, 3, 3),
- wyxx = _gs(3, 1, 0, 0),
- wyxy = _gs(3, 1, 0, 1),
- wyxz = _gs(3, 1, 0, 2),
- wyxw = _gs(3, 1, 0, 3),
- wyyx = _gs(3, 1, 1, 0),
- wyyy = _gs(3, 1, 1, 1),
- wyyz = _gs(3, 1, 1, 2),
- wyyw = _gs(3, 1, 1, 3),
- wyzx = _gs(3, 1, 2, 0),
- wyzy = _gs(3, 1, 2, 1),
- wyzz = _gs(3, 1, 2, 2),
- wyzw = _gs(3, 1, 2, 3),
- wywx = _gs(3, 1, 3, 0),
- wywy = _gs(3, 1, 3, 1),
- wywz = _gs(3, 1, 3, 2),
- wyww = _gs(3, 1, 3, 3),
- wzxx = _gs(3, 2, 0, 0),
- wzxy = _gs(3, 2, 0, 1),
- wzxz = _gs(3, 2, 0, 2),
- wzxw = _gs(3, 2, 0, 3),
- wzyx = _gs(3, 2, 1, 0),
- wzyy = _gs(3, 2, 1, 1),
- wzyz = _gs(3, 2, 1, 2),
- wzyw = _gs(3, 2, 1, 3),
- wzzx = _gs(3, 2, 2, 0),
- wzzy = _gs(3, 2, 2, 1),
- wzzz = _gs(3, 2, 2, 2),
- wzzw = _gs(3, 2, 2, 3),
- wzwx = _gs(3, 2, 3, 0),
- wzwy = _gs(3, 2, 3, 1),
- wzwz = _gs(3, 2, 3, 2),
- wzww = _gs(3, 2, 3, 3),
- wwxx = _gs(3, 3, 0, 0),
- wwxy = _gs(3, 3, 0, 1),
- wwxz = _gs(3, 3, 0, 2),
- wwxw = _gs(3, 3, 0, 3),
- wwyx = _gs(3, 3, 1, 0),
- wwyy = _gs(3, 3, 1, 1),
- wwyz = _gs(3, 3, 1, 2),
- wwyw = _gs(3, 3, 1, 3),
- wwzx = _gs(3, 3, 2, 0),
- wwzy = _gs(3, 3, 2, 1),
- wwzz = _gs(3, 3, 2, 2),
- wwzw = _gs(3, 3, 2, 3),
- wwwx = _gs(3, 3, 3, 0),
- wwwy = _gs(3, 3, 3, 1),
- wwwz = _gs(3, 3, 3, 2),
- wwww = _gs(3, 3, 3, 3),
- };
- #undef _gs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement