Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.73 KB | None | 0 0
  1.  
  2. #define _gs(x,y,z,w) ((x) | ((y) << 2) | ((z) << 4) | ((w) << 6))
  3.  
  4. enum shuffle : unsigned
  5. {
  6.     xxxx = _gs(0, 0, 0, 0),
  7.     xxxy = _gs(0, 0, 0, 1),
  8.     xxxz = _gs(0, 0, 0, 2),
  9.     xxxw = _gs(0, 0, 0, 3),
  10.     xxyx = _gs(0, 0, 1, 0),
  11.     xxyy = _gs(0, 0, 1, 1),
  12.     xxyz = _gs(0, 0, 1, 2),
  13.     xxyw = _gs(0, 0, 1, 3),
  14.     xxzx = _gs(0, 0, 2, 0),
  15.     xxzy = _gs(0, 0, 2, 1),
  16.     xxzz = _gs(0, 0, 2, 2),
  17.     xxzw = _gs(0, 0, 2, 3),
  18.     xxwx = _gs(0, 0, 3, 0),
  19.     xxwy = _gs(0, 0, 3, 1),
  20.     xxwz = _gs(0, 0, 3, 2),
  21.     xxww = _gs(0, 0, 3, 3),
  22.  
  23.     xyxx = _gs(0, 1, 0, 0),
  24.     xyxy = _gs(0, 1, 0, 1),
  25.     xyxz = _gs(0, 1, 0, 2),
  26.     xyxw = _gs(0, 1, 0, 3),
  27.     xyyx = _gs(0, 1, 1, 0),
  28.     xyyy = _gs(0, 1, 1, 1),
  29.     xyyz = _gs(0, 1, 1, 2),
  30.     xyyw = _gs(0, 1, 1, 3),
  31.     xyzx = _gs(0, 1, 2, 0),
  32.     xyzy = _gs(0, 1, 2, 1),
  33.     xyzz = _gs(0, 1, 2, 2),
  34.     xyzw = _gs(0, 1, 2, 3),
  35.     xywx = _gs(0, 1, 3, 0),
  36.     xywy = _gs(0, 1, 3, 1),
  37.     xywz = _gs(0, 1, 3, 2),
  38.     xyww = _gs(0, 1, 3, 3),
  39.  
  40.     xzxx = _gs(0, 2, 0, 0),
  41.     xzxy = _gs(0, 2, 0, 1),
  42.     xzxz = _gs(0, 2, 0, 2),
  43.     xzxw = _gs(0, 2, 0, 3),
  44.     xzyx = _gs(0, 2, 1, 0),
  45.     xzyy = _gs(0, 2, 1, 1),
  46.     xzyz = _gs(0, 2, 1, 2),
  47.     xzyw = _gs(0, 2, 1, 3),
  48.     xzzx = _gs(0, 2, 2, 0),
  49.     xzzy = _gs(0, 2, 2, 1),
  50.     xzzz = _gs(0, 2, 2, 2),
  51.     xzzw = _gs(0, 2, 2, 3),
  52.     xzwx = _gs(0, 2, 3, 0),
  53.     xzwy = _gs(0, 2, 3, 1),
  54.     xzwz = _gs(0, 2, 3, 2),
  55.     xzww = _gs(0, 2, 3, 3),
  56.  
  57.     xwxx = _gs(0, 3, 0, 0),
  58.     xwxy = _gs(0, 3, 0, 1),
  59.     xwxz = _gs(0, 3, 0, 2),
  60.     xwxw = _gs(0, 3, 0, 3),
  61.     xwyx = _gs(0, 3, 1, 0),
  62.     xwyy = _gs(0, 3, 1, 1),
  63.     xwyz = _gs(0, 3, 1, 2),
  64.     xwyw = _gs(0, 3, 1, 3),
  65.     xwzx = _gs(0, 3, 2, 0),
  66.     xwzy = _gs(0, 3, 2, 1),
  67.     xwzz = _gs(0, 3, 2, 2),
  68.     xwzw = _gs(0, 3, 2, 3),
  69.     xwwx = _gs(0, 3, 3, 0),
  70.     xwwy = _gs(0, 3, 3, 1),
  71.     xwwz = _gs(0, 3, 3, 2),
  72.     xwww = _gs(0, 3, 3, 3),
  73.     //-------------------------
  74.     yxxx = _gs(1, 0, 0, 0),
  75.     yxxy = _gs(1, 0, 0, 1),
  76.     yxxz = _gs(1, 0, 0, 2),
  77.     yxxw = _gs(1, 0, 0, 3),
  78.     yxyx = _gs(1, 0, 1, 0),
  79.     yxyy = _gs(1, 0, 1, 1),
  80.     yxyz = _gs(1, 0, 1, 2),
  81.     yxyw = _gs(1, 0, 1, 3),
  82.     yxzx = _gs(1, 0, 2, 0),
  83.     yxzy = _gs(1, 0, 2, 1),
  84.     yxzz = _gs(1, 0, 2, 2),
  85.     yxzw = _gs(1, 0, 2, 3),
  86.     yxwx = _gs(1, 0, 3, 0),
  87.     yxwy = _gs(1, 0, 3, 1),
  88.     yxwz = _gs(1, 0, 3, 2),
  89.     yxww = _gs(1, 0, 3, 3),
  90.  
  91.     yyxx = _gs(1, 1, 0, 0),
  92.     yyxy = _gs(1, 1, 0, 1),
  93.     yyxz = _gs(1, 1, 0, 2),
  94.     yyxw = _gs(1, 1, 0, 3),
  95.     yyyx = _gs(1, 1, 1, 0),
  96.     yyyy = _gs(1, 1, 1, 1),
  97.     yyyz = _gs(1, 1, 1, 2),
  98.     yyyw = _gs(1, 1, 1, 3),
  99.     yyzx = _gs(1, 1, 2, 0),
  100.     yyzy = _gs(1, 1, 2, 1),
  101.     yyzz = _gs(1, 1, 2, 2),
  102.     yyzw = _gs(1, 1, 2, 3),
  103.     yywx = _gs(1, 1, 3, 0),
  104.     yywy = _gs(1, 1, 3, 1),
  105.     yywz = _gs(1, 1, 3, 2),
  106.     yyww = _gs(1, 1, 3, 3),
  107.  
  108.     yzxx = _gs(1, 2, 0, 0),
  109.     yzxy = _gs(1, 2, 0, 1),
  110.     yzxz = _gs(1, 2, 0, 2),
  111.     yzxw = _gs(1, 2, 0, 3),
  112.     yzyx = _gs(1, 2, 1, 0),
  113.     yzyy = _gs(1, 2, 1, 1),
  114.     yzyz = _gs(1, 2, 1, 2),
  115.     yzyw = _gs(1, 2, 1, 3),
  116.     yzzx = _gs(1, 2, 2, 0),
  117.     yzzy = _gs(1, 2, 2, 1),
  118.     yzzz = _gs(1, 2, 2, 2),
  119.     yzzw = _gs(1, 2, 2, 3),
  120.     yzwx = _gs(1, 2, 3, 0),
  121.     yzwy = _gs(1, 2, 3, 1),
  122.     yzwz = _gs(1, 2, 3, 2),
  123.     yzww = _gs(1, 2, 3, 3),
  124.  
  125.     ywxx = _gs(1, 3, 0, 0),
  126.     ywxy = _gs(1, 3, 0, 1),
  127.     ywxz = _gs(1, 3, 0, 2),
  128.     ywxw = _gs(1, 3, 0, 3),
  129.     ywyx = _gs(1, 3, 1, 0),
  130.     ywyy = _gs(1, 3, 1, 1),
  131.     ywyz = _gs(1, 3, 1, 2),
  132.     ywyw = _gs(1, 3, 1, 3),
  133.     ywzx = _gs(1, 3, 2, 0),
  134.     ywzy = _gs(1, 3, 2, 1),
  135.     ywzz = _gs(1, 3, 2, 2),
  136.     ywzw = _gs(1, 3, 2, 3),
  137.     ywwx = _gs(1, 3, 3, 0),
  138.     ywwy = _gs(1, 3, 3, 1),
  139.     ywwz = _gs(1, 3, 3, 2),
  140.     ywww = _gs(1, 3, 3, 3),
  141.     //-------------------------
  142.     zxxx = _gs(2, 0, 0, 0),
  143.     zxxy = _gs(2, 0, 0, 1),
  144.     zxxz = _gs(2, 0, 0, 2),
  145.     zxxw = _gs(2, 0, 0, 3),
  146.     zxyx = _gs(2, 0, 1, 0),
  147.     zxyy = _gs(2, 0, 1, 1),
  148.     zxyz = _gs(2, 0, 1, 2),
  149.     zxyw = _gs(2, 0, 1, 3),
  150.     zxzx = _gs(2, 0, 2, 0),
  151.     zxzy = _gs(2, 0, 2, 1),
  152.     zxzz = _gs(2, 0, 2, 2),
  153.     zxzw = _gs(2, 0, 2, 3),
  154.     zxwx = _gs(2, 0, 3, 0),
  155.     zxwy = _gs(2, 0, 3, 1),
  156.     zxwz = _gs(2, 0, 3, 2),
  157.     zxww = _gs(2, 0, 3, 3),
  158.  
  159.     zyxx = _gs(2, 1, 0, 0),
  160.     zyxy = _gs(2, 1, 0, 1),
  161.     zyxz = _gs(2, 1, 0, 2),
  162.     zyxw = _gs(2, 1, 0, 3),
  163.     zyyx = _gs(2, 1, 1, 0),
  164.     zyyy = _gs(2, 1, 1, 1),
  165.     zyyz = _gs(2, 1, 1, 2),
  166.     zyyw = _gs(2, 1, 1, 3),
  167.     zyzx = _gs(2, 1, 2, 0),
  168.     zyzy = _gs(2, 1, 2, 1),
  169.     zyzz = _gs(2, 1, 2, 2),
  170.     zyzw = _gs(2, 1, 2, 3),
  171.     zywx = _gs(2, 1, 3, 0),
  172.     zywy = _gs(2, 1, 3, 1),
  173.     zywz = _gs(2, 1, 3, 2),
  174.     zyww = _gs(2, 1, 3, 3),
  175.  
  176.     zzxx = _gs(2, 2, 0, 0),
  177.     zzxy = _gs(2, 2, 0, 1),
  178.     zzxz = _gs(2, 2, 0, 2),
  179.     zzxw = _gs(2, 2, 0, 3),
  180.     zzyx = _gs(2, 2, 1, 0),
  181.     zzyy = _gs(2, 2, 1, 1),
  182.     zzyz = _gs(2, 2, 1, 2),
  183.     zzyw = _gs(2, 2, 1, 3),
  184.     zzzx = _gs(2, 2, 2, 0),
  185.     zzzy = _gs(2, 2, 2, 1),
  186.     zzzz = _gs(2, 2, 2, 2),
  187.     zzzw = _gs(2, 2, 2, 3),
  188.     zzwx = _gs(2, 2, 3, 0),
  189.     zzwy = _gs(2, 2, 3, 1),
  190.     zzwz = _gs(2, 2, 3, 2),
  191.     zzww = _gs(2, 2, 3, 3),
  192.  
  193.     zwxx = _gs(2, 3, 0, 0),
  194.     zwxy = _gs(2, 3, 0, 1),
  195.     zwxz = _gs(2, 3, 0, 2),
  196.     zwxw = _gs(2, 3, 0, 3),
  197.     zwyx = _gs(2, 3, 1, 0),
  198.     zwyy = _gs(2, 3, 1, 1),
  199.     zwyz = _gs(2, 3, 1, 2),
  200.     zwyw = _gs(2, 3, 1, 3),
  201.     zwzx = _gs(2, 3, 2, 0),
  202.     zwzy = _gs(2, 3, 2, 1),
  203.     zwzz = _gs(2, 3, 2, 2),
  204.     zwzw = _gs(2, 3, 2, 3),
  205.     zwwx = _gs(2, 3, 3, 0),
  206.     zwwy = _gs(2, 3, 3, 1),
  207.     zwwz = _gs(2, 3, 3, 2),
  208.     zwww = _gs(2, 3, 3, 3),
  209.     //-------------------------
  210.     wxxx = _gs(3, 0, 0, 0),
  211.     wxxy = _gs(3, 0, 0, 1),
  212.     wxxz = _gs(3, 0, 0, 2),
  213.     wxxw = _gs(3, 0, 0, 3),
  214.     wxyx = _gs(3, 0, 1, 0),
  215.     wxyy = _gs(3, 0, 1, 1),
  216.     wxyz = _gs(3, 0, 1, 2),
  217.     wxyw = _gs(3, 0, 1, 3),
  218.     wxzx = _gs(3, 0, 2, 0),
  219.     wxzy = _gs(3, 0, 2, 1),
  220.     wxzz = _gs(3, 0, 2, 2),
  221.     wxzw = _gs(3, 0, 2, 3),
  222.     wxwx = _gs(3, 0, 3, 0),
  223.     wxwy = _gs(3, 0, 3, 1),
  224.     wxwz = _gs(3, 0, 3, 2),
  225.     wxww = _gs(3, 0, 3, 3),
  226.  
  227.     wyxx = _gs(3, 1, 0, 0),
  228.     wyxy = _gs(3, 1, 0, 1),
  229.     wyxz = _gs(3, 1, 0, 2),
  230.     wyxw = _gs(3, 1, 0, 3),
  231.     wyyx = _gs(3, 1, 1, 0),
  232.     wyyy = _gs(3, 1, 1, 1),
  233.     wyyz = _gs(3, 1, 1, 2),
  234.     wyyw = _gs(3, 1, 1, 3),
  235.     wyzx = _gs(3, 1, 2, 0),
  236.     wyzy = _gs(3, 1, 2, 1),
  237.     wyzz = _gs(3, 1, 2, 2),
  238.     wyzw = _gs(3, 1, 2, 3),
  239.     wywx = _gs(3, 1, 3, 0),
  240.     wywy = _gs(3, 1, 3, 1),
  241.     wywz = _gs(3, 1, 3, 2),
  242.     wyww = _gs(3, 1, 3, 3),
  243.  
  244.     wzxx = _gs(3, 2, 0, 0),
  245.     wzxy = _gs(3, 2, 0, 1),
  246.     wzxz = _gs(3, 2, 0, 2),
  247.     wzxw = _gs(3, 2, 0, 3),
  248.     wzyx = _gs(3, 2, 1, 0),
  249.     wzyy = _gs(3, 2, 1, 1),
  250.     wzyz = _gs(3, 2, 1, 2),
  251.     wzyw = _gs(3, 2, 1, 3),
  252.     wzzx = _gs(3, 2, 2, 0),
  253.     wzzy = _gs(3, 2, 2, 1),
  254.     wzzz = _gs(3, 2, 2, 2),
  255.     wzzw = _gs(3, 2, 2, 3),
  256.     wzwx = _gs(3, 2, 3, 0),
  257.     wzwy = _gs(3, 2, 3, 1),
  258.     wzwz = _gs(3, 2, 3, 2),
  259.     wzww = _gs(3, 2, 3, 3),
  260.  
  261.     wwxx = _gs(3, 3, 0, 0),
  262.     wwxy = _gs(3, 3, 0, 1),
  263.     wwxz = _gs(3, 3, 0, 2),
  264.     wwxw = _gs(3, 3, 0, 3),
  265.     wwyx = _gs(3, 3, 1, 0),
  266.     wwyy = _gs(3, 3, 1, 1),
  267.     wwyz = _gs(3, 3, 1, 2),
  268.     wwyw = _gs(3, 3, 1, 3),
  269.     wwzx = _gs(3, 3, 2, 0),
  270.     wwzy = _gs(3, 3, 2, 1),
  271.     wwzz = _gs(3, 3, 2, 2),
  272.     wwzw = _gs(3, 3, 2, 3),
  273.     wwwx = _gs(3, 3, 3, 0),
  274.     wwwy = _gs(3, 3, 3, 1),
  275.     wwwz = _gs(3, 3, 3, 2),
  276.     wwww = _gs(3, 3, 3, 3),
  277. };
  278.  
  279. #undef _gs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement