mirror of
https://github.com/g-truc/glm.git
synced 2025-04-10 15:23:53 +00:00
Remove one member structs in vec_swizzle
This commit is contained in:
parent
d38a61f40a
commit
8afe61e9e5
1 changed files with 481 additions and 481 deletions
|
@ -310,500 +310,500 @@ namespace glm
|
|||
}
|
||||
|
||||
#define GLM_SWIZZLE2_2_MEMBERS(T, Q, E0,E1) \
|
||||
struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \
|
||||
struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \
|
||||
struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \
|
||||
struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; };
|
||||
detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; \
|
||||
detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; \
|
||||
detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; \
|
||||
detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1;
|
||||
|
||||
#define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \
|
||||
struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; };
|
||||
detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; \
|
||||
detail::_swizzle<3,T, Q, 0,0,1,-1> E0 ## E0 ## E1; \
|
||||
detail::_swizzle<3,T, Q, 0,1,0,-1> E0 ## E1 ## E0; \
|
||||
detail::_swizzle<3,T, Q, 0,1,1,-1> E0 ## E1 ## E1; \
|
||||
detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; \
|
||||
detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; \
|
||||
detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; \
|
||||
detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1;
|
||||
|
||||
#define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; };
|
||||
detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1;
|
||||
|
||||
#define GLM_SWIZZLE3_2_MEMBERS(T, Q, E0,E1,E2) \
|
||||
struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; };
|
||||
detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2;
|
||||
|
||||
#define GLM_SWIZZLE3_3_MEMBERS(T, Q ,E0,E1,E2) \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,0,3> E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,1,3> E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,2,3> E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,0,3> E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,1,3> E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,2,3> E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,0,3> E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,1,3> E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,2,3> E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,0,3> E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,1,3> E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,2,3> E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,0,3> E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,1,3> E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,2,3> E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,0,3> E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,1,3> E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,2,3> E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,0,3> E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,1,3> E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,2,3> E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,0,3> E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,1,3> E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,2,3> E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,0,3> E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,1,3> E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,2,3> E2 ## E2 ## E2; };
|
||||
detail::_swizzle<3, T, Q, 0,0,0,3> E0 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,0,1,3> E0 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,0,2,3> E0 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,1,0,3> E0 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,1,1,3> E0 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,1,2,3> E0 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,2,0,3> E0 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,2,1,3> E0 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,2,2,3> E0 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,0,0,3> E1 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,0,1,3> E1 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,0,2,3> E1 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,1,0,3> E1 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,1,1,3> E1 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,1,2,3> E1 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,2,0,3> E1 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,2,1,3> E1 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,2,2,3> E1 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,0,0,3> E2 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,0,1,3> E2 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,0,2,3> E2 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,1,0,3> E2 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,1,1,3> E2 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,1,2,3> E2 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,2,0,3> E2 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,2,1,3> E2 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,2,2,3> E2 ## E2 ## E2;
|
||||
|
||||
#define GLM_SWIZZLE3_4_MEMBERS(T, Q, E0,E1,E2) \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
|
||||
detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2;
|
||||
|
||||
#define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \
|
||||
struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \
|
||||
struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; };
|
||||
detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 0,1,-1,-2> E0 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 0,2,-1,-2> E0 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 0,3,-1,-2> E0 ## E3; \
|
||||
detail::_swizzle<2,T, Q, 1,0,-1,-2> E1 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 1,1,-1,-2> E1 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 1,2,-1,-2> E1 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 1,3,-1,-2> E1 ## E3; \
|
||||
detail::_swizzle<2,T, Q, 2,0,-1,-2> E2 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 2,1,-1,-2> E2 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 2,2,-1,-2> E2 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 2,3,-1,-2> E2 ## E3; \
|
||||
detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; \
|
||||
detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; \
|
||||
detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; \
|
||||
detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3;
|
||||
|
||||
#define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,0,3> E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,1,3> E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,2,3> E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,0,3,3> E0 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,0,3> E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,1,3> E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,2,3> E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,1,3,3> E0 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,0,3> E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,1,3> E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,2,3> E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,2,3,3> E0 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,3,0,3> E0 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,3,1,3> E0 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,3,2,3> E0 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 0,3,3,3> E0 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,0,3> E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,1,3> E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,2,3> E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,0,3,3> E1 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,0,3> E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,1,3> E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,2,3> E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,1,3,3> E1 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,0,3> E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,1,3> E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,2,3> E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,2,3,3> E1 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,3,0,3> E1 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,3,1,3> E1 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,3,2,3> E1 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 1,3,3,3> E1 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,0,3> E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,1,3> E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,2,3> E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,0,3,3> E2 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,0,3> E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,1,3> E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,2,3> E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,1,3,3> E2 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,0,3> E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,1,3> E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,2,3> E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,2,3,3> E2 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,3,0,3> E2 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,3,1,3> E2 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,3,2,3> E2 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 2,3,3,3> E2 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,0,0,3> E3 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,0,1,3> E3 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,0,2,3> E3 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,0,3,3> E3 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,1,0,3> E3 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,1,1,3> E3 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,1,2,3> E3 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,1,3,3> E3 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,2,0,3> E3 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,2,1,3> E3 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,2,2,3> E3 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,2,3,3> E3 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,3,0,3> E3 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,3,1,3> E3 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,3,2,3> E3 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<3, T, Q, 3,3,3,3> E3 ## E3 ## E3; };
|
||||
detail::_swizzle<3, T, Q, 0,0,0,3> E0 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,0,1,3> E0 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,0,2,3> E0 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,0,3,3> E0 ## E0 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 0,1,0,3> E0 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,1,1,3> E0 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,1,2,3> E0 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,1,3,3> E0 ## E1 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 0,2,0,3> E0 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,2,1,3> E0 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,2,2,3> E0 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,2,3,3> E0 ## E2 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 0,3,0,3> E0 ## E3 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 0,3,1,3> E0 ## E3 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 0,3,2,3> E0 ## E3 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 0,3,3,3> E0 ## E3 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 1,0,0,3> E1 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,0,1,3> E1 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,0,2,3> E1 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,0,3,3> E1 ## E0 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 1,1,0,3> E1 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,1,1,3> E1 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,1,2,3> E1 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,1,3,3> E1 ## E1 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 1,2,0,3> E1 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,2,1,3> E1 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,2,2,3> E1 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,2,3,3> E1 ## E2 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 1,3,0,3> E1 ## E3 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 1,3,1,3> E1 ## E3 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 1,3,2,3> E1 ## E3 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 1,3,3,3> E1 ## E3 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 2,0,0,3> E2 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,0,1,3> E2 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,0,2,3> E2 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,0,3,3> E2 ## E0 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 2,1,0,3> E2 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,1,1,3> E2 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,1,2,3> E2 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,1,3,3> E2 ## E1 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 2,2,0,3> E2 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,2,1,3> E2 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,2,2,3> E2 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,2,3,3> E2 ## E2 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 2,3,0,3> E2 ## E3 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 2,3,1,3> E2 ## E3 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 2,3,2,3> E2 ## E3 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 2,3,3,3> E2 ## E3 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 3,0,0,3> E3 ## E0 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 3,0,1,3> E3 ## E0 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 3,0,2,3> E3 ## E0 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 3,0,3,3> E3 ## E0 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 3,1,0,3> E3 ## E1 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 3,1,1,3> E3 ## E1 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 3,1,2,3> E3 ## E1 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 3,1,3,3> E3 ## E1 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 3,2,0,3> E3 ## E2 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 3,2,1,3> E3 ## E2 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 3,2,2,3> E3 ## E2 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 3,2,3,3> E3 ## E2 ## E3; \
|
||||
detail::_swizzle<3, T, Q, 3,3,0,3> E3 ## E3 ## E0; \
|
||||
detail::_swizzle<3, T, Q, 3,3,1,3> E3 ## E3 ## E1; \
|
||||
detail::_swizzle<3, T, Q, 3,3,2,3> E3 ## E3 ## E2; \
|
||||
detail::_swizzle<3, T, Q, 3,3,3,3> E3 ## E3 ## E3;
|
||||
|
||||
#define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; }; \
|
||||
struct { detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3; };
|
||||
detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,0,0,1> E0 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,0,0,2> E0 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,0,0,3> E0 ## E0 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,0,1,0> E0 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,0,1,1> E0 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,0,1,2> E0 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,0,1,3> E0 ## E0 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,0,2,0> E0 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,0,2,1> E0 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,0,2,2> E0 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,0,2,3> E0 ## E0 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,0,3,0> E0 ## E0 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,0,3,1> E0 ## E0 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,0,3,2> E0 ## E0 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,0,3,3> E0 ## E0 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,1,0,0> E0 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,1,0,1> E0 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,1,0,2> E0 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,1,0,3> E0 ## E1 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,1,1,0> E0 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,1,1,1> E0 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,1,1,2> E0 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,1,1,3> E0 ## E1 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,1,2,0> E0 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,1,2,1> E0 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,1,2,2> E0 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,1,2,3> E0 ## E1 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,1,3,0> E0 ## E1 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,1,3,1> E0 ## E1 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,1,3,2> E0 ## E1 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,1,3,3> E0 ## E1 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,2,0,0> E0 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,2,0,1> E0 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,2,0,2> E0 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,2,0,3> E0 ## E2 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,2,1,0> E0 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,2,1,1> E0 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,2,1,2> E0 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,2,1,3> E0 ## E2 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,2,2,0> E0 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,2,2,1> E0 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,2,2,2> E0 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,2,2,3> E0 ## E2 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,2,3,0> E0 ## E2 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,2,3,1> E0 ## E2 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,2,3,2> E0 ## E2 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,2,3,3> E0 ## E2 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,3,0,0> E0 ## E3 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,3,0,1> E0 ## E3 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,3,0,2> E0 ## E3 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,3,0,3> E0 ## E3 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,3,1,0> E0 ## E3 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,3,1,1> E0 ## E3 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,3,1,2> E0 ## E3 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,3,1,3> E0 ## E3 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,3,2,0> E0 ## E3 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,3,2,1> E0 ## E3 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,3,2,2> E0 ## E3 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,3,2,3> E0 ## E3 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 0,3,3,0> E0 ## E3 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 0,3,3,1> E0 ## E3 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 0,3,3,2> E0 ## E3 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 0,3,3,3> E0 ## E3 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,0,0,0> E1 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,0,0,1> E1 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,0,0,2> E1 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,0,0,3> E1 ## E0 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,0,1,0> E1 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,0,1,1> E1 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,0,1,2> E1 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,0,1,3> E1 ## E0 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,0,2,0> E1 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,0,2,1> E1 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,0,2,2> E1 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,0,2,3> E1 ## E0 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,0,3,0> E1 ## E0 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,0,3,1> E1 ## E0 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,0,3,2> E1 ## E0 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,0,3,3> E1 ## E0 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,1,0,0> E1 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,1,0,1> E1 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,1,0,2> E1 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,1,0,3> E1 ## E1 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,1,1,0> E1 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,1,1,1> E1 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,1,1,2> E1 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,1,1,3> E1 ## E1 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,1,2,0> E1 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,1,2,1> E1 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,1,2,2> E1 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,1,2,3> E1 ## E1 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,1,3,0> E1 ## E1 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,1,3,1> E1 ## E1 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,1,3,2> E1 ## E1 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,1,3,3> E1 ## E1 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,2,0,0> E1 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,2,0,1> E1 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,2,0,2> E1 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,2,0,3> E1 ## E2 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,2,1,0> E1 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,2,1,1> E1 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,2,1,2> E1 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,2,1,3> E1 ## E2 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,2,2,0> E1 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,2,2,1> E1 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,2,2,2> E1 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,2,2,3> E1 ## E2 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,2,3,0> E1 ## E2 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,2,3,1> E1 ## E2 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,2,3,2> E1 ## E2 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,2,3,3> E1 ## E2 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,3,0,0> E1 ## E3 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,3,0,1> E1 ## E3 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,3,0,2> E1 ## E3 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,3,0,3> E1 ## E3 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,3,1,0> E1 ## E3 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,3,1,1> E1 ## E3 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,3,1,2> E1 ## E3 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,3,1,3> E1 ## E3 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,3,2,0> E1 ## E3 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,3,2,1> E1 ## E3 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,3,2,2> E1 ## E3 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,3,2,3> E1 ## E3 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 1,3,3,0> E1 ## E3 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 1,3,3,1> E1 ## E3 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 1,3,3,2> E1 ## E3 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 1,3,3,3> E1 ## E3 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,0,0,0> E2 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,0,0,1> E2 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,0,0,2> E2 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,0,0,3> E2 ## E0 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,0,1,0> E2 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,0,1,1> E2 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,0,1,2> E2 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,0,1,3> E2 ## E0 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,0,2,0> E2 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,0,2,1> E2 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,0,2,2> E2 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,0,2,3> E2 ## E0 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,0,3,0> E2 ## E0 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,0,3,1> E2 ## E0 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,0,3,2> E2 ## E0 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,0,3,3> E2 ## E0 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,1,0,0> E2 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,1,0,1> E2 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,1,0,2> E2 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,1,0,3> E2 ## E1 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,1,1,0> E2 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,1,1,1> E2 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,1,1,2> E2 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,1,1,3> E2 ## E1 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,1,2,0> E2 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,1,2,1> E2 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,1,2,2> E2 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,1,2,3> E2 ## E1 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,1,3,0> E2 ## E1 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,1,3,1> E2 ## E1 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,1,3,2> E2 ## E1 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,1,3,3> E2 ## E1 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,2,0,0> E2 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,2,0,1> E2 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,2,0,2> E2 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,2,0,3> E2 ## E2 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,2,1,0> E2 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,2,1,1> E2 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,2,1,3> E2 ## E2 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,2,2,3> E2 ## E2 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,2,3,0> E2 ## E2 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,2,3,1> E2 ## E2 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,2,3,2> E2 ## E2 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,2,3,3> E2 ## E2 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,3,0,0> E2 ## E3 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,3,0,1> E2 ## E3 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,3,0,2> E2 ## E3 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,3,0,3> E2 ## E3 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,3,1,0> E2 ## E3 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,3,1,1> E2 ## E3 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,3,1,2> E2 ## E3 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,3,1,3> E2 ## E3 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,3,2,0> E2 ## E3 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,3,2,1> E2 ## E3 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,3,2,2> E2 ## E3 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,3,2,3> E2 ## E3 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 2,3,3,0> E2 ## E3 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 2,3,3,1> E2 ## E3 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 2,3,3,2> E2 ## E3 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 2,3,3,3> E2 ## E3 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,0,0,0> E3 ## E0 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,0,0,1> E3 ## E0 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,0,0,2> E3 ## E0 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,0,0,3> E3 ## E0 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,0,1,0> E3 ## E0 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,0,1,1> E3 ## E0 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,0,1,2> E3 ## E0 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,0,1,3> E3 ## E0 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,0,2,0> E3 ## E0 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,0,2,1> E3 ## E0 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,0,2,2> E3 ## E0 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,0,2,3> E3 ## E0 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,0,3,0> E3 ## E0 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,0,3,1> E3 ## E0 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,0,3,2> E3 ## E0 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,0,3,3> E3 ## E0 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,1,0,0> E3 ## E1 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,1,0,1> E3 ## E1 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,1,0,2> E3 ## E1 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,1,0,3> E3 ## E1 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,1,1,0> E3 ## E1 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,1,1,1> E3 ## E1 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,1,1,2> E3 ## E1 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,1,1,3> E3 ## E1 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,1,2,0> E3 ## E1 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,1,2,1> E3 ## E1 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,1,2,2> E3 ## E1 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,1,2,3> E3 ## E1 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,1,3,0> E3 ## E1 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,1,3,1> E3 ## E1 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,1,3,2> E3 ## E1 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,1,3,3> E3 ## E1 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,2,0,0> E3 ## E2 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,2,0,1> E3 ## E2 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,2,0,2> E3 ## E2 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,2,0,3> E3 ## E2 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,2,1,0> E3 ## E2 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,2,1,1> E3 ## E2 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,2,1,2> E3 ## E2 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,2,1,3> E3 ## E2 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,2,2,0> E3 ## E2 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,2,2,1> E3 ## E2 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,2,2,2> E3 ## E2 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,2,2,3> E3 ## E2 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,2,3,0> E3 ## E2 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,2,3,1> E3 ## E2 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,2,3,2> E3 ## E2 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,2,3,3> E3 ## E2 ## E3 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,3,0,0> E3 ## E3 ## E0 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,3,0,1> E3 ## E3 ## E0 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,3,0,2> E3 ## E3 ## E0 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,3,0,3> E3 ## E3 ## E0 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,3,1,0> E3 ## E3 ## E1 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,3,1,1> E3 ## E3 ## E1 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,3,1,2> E3 ## E3 ## E1 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,3,1,3> E3 ## E3 ## E1 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,3,2,0> E3 ## E3 ## E2 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,3,2,1> E3 ## E3 ## E2 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,3,2,2> E3 ## E3 ## E2 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,3,2,3> E3 ## E3 ## E2 ## E3; \
|
||||
detail::_swizzle<4, T, Q, 3,3,3,0> E3 ## E3 ## E3 ## E0; \
|
||||
detail::_swizzle<4, T, Q, 3,3,3,1> E3 ## E3 ## E3 ## E1; \
|
||||
detail::_swizzle<4, T, Q, 3,3,3,2> E3 ## E3 ## E3 ## E2; \
|
||||
detail::_swizzle<4, T, Q, 3,3,3,3> E3 ## E3 ## E3 ## E3;
|
||||
|
|
Loading…
Add table
Reference in a new issue