From 1a460419f93445363c7f1ec2a2f92cfbb1519b2a Mon Sep 17 00:00:00 2001 From: Christophe Riccio Date: Wed, 2 Nov 2016 20:44:25 +0100 Subject: [PATCH] Fixed GTX_vec_swizzle build --- glm/gtx/vec_swizzle.hpp | 968 ++++++++++++++++++++-------------------- 1 file changed, 484 insertions(+), 484 deletions(-) diff --git a/glm/gtx/vec_swizzle.hpp b/glm/gtx/vec_swizzle.hpp index 7b379023..186c51bf 100644 --- a/glm/gtx/vec_swizzle.hpp +++ b/glm/gtx/vec_swizzle.hpp @@ -4,2757 +4,2757 @@ namespace glm { // xx - template + template GLM_INLINE glm::tvec2 xx(const glm::tvec1 &v) { return glm::tvec2(v.x, v.x); } - template + template GLM_INLINE glm::tvec2 xx(const glm::tvec2 &v) { return glm::tvec2(v.x, v.x); } - template + template GLM_INLINE glm::tvec2 xx(const glm::tvec3 &v) { return glm::tvec2(v.x, v.x); } - template + template GLM_INLINE glm::tvec2 xx(const glm::tvec4 &v) { return glm::tvec2(v.x, v.x); } // xy - template + template GLM_INLINE glm::tvec2 xy(const glm::tvec2 &v) { return glm::tvec2(v.x, v.y); } - template + template GLM_INLINE glm::tvec2 xy(const glm::tvec3 &v) { return glm::tvec2(v.x, v.y); } - template + template GLM_INLINE glm::tvec2 xy(const glm::tvec4 &v) { return glm::tvec2(v.x, v.y); } // xz - template + template GLM_INLINE glm::tvec2 xz(const glm::tvec3 &v) { return glm::tvec2(v.x, v.z); } - template + template GLM_INLINE glm::tvec2 xz(const glm::tvec4 &v) { return glm::tvec2(v.x, v.z); } // xw - template + template GLM_INLINE glm::tvec2 xw(const glm::tvec4 &v) { return glm::tvec2(v.x, v.w); } // yx - template + template GLM_INLINE glm::tvec2 yx(const glm::tvec2 &v) { return glm::tvec2(v.y, v.x); } - template + template GLM_INLINE glm::tvec2 yx(const glm::tvec3 &v) { return glm::tvec2(v.y, v.x); } - template + template GLM_INLINE glm::tvec2 yx(const glm::tvec4 &v) { return glm::tvec2(v.y, v.x); } // yy - template + template GLM_INLINE glm::tvec2 yy(const glm::tvec2 &v) { return glm::tvec2(v.y, v.y); } - template + template GLM_INLINE glm::tvec2 yy(const glm::tvec3 &v) { return glm::tvec2(v.y, v.y); } - template + template GLM_INLINE glm::tvec2 yy(const glm::tvec4 &v) { return glm::tvec2(v.y, v.y); } // yz - template + template GLM_INLINE glm::tvec2 yz(const glm::tvec3 &v) { return glm::tvec2(v.y, v.z); } - template + template GLM_INLINE glm::tvec2 yz(const glm::tvec4 &v) { return glm::tvec2(v.y, v.z); } // yw - template + template GLM_INLINE glm::tvec2 yw(const glm::tvec4 &v) { return glm::tvec2(v.y, v.w); } // zx - template + template GLM_INLINE glm::tvec2 zx(const glm::tvec3 &v) { return glm::tvec2(v.z, v.x); } - template + template GLM_INLINE glm::tvec2 zx(const glm::tvec4 &v) { return glm::tvec2(v.z, v.x); } // zy - template + template GLM_INLINE glm::tvec2 zy(const glm::tvec3 &v) { return glm::tvec2(v.z, v.y); } - template + template GLM_INLINE glm::tvec2 zy(const glm::tvec4 &v) { return glm::tvec2(v.z, v.y); } // zz - template + template GLM_INLINE glm::tvec2 zz(const glm::tvec3 &v) { return glm::tvec2(v.z, v.z); } - template + template GLM_INLINE glm::tvec2 zz(const glm::tvec4 &v) { return glm::tvec2(v.z, v.z); } // zw - template + template GLM_INLINE glm::tvec2 zw(const glm::tvec4 &v) { return glm::tvec2(v.z, v.w); } // wx - template + template GLM_INLINE glm::tvec2 wx(const glm::tvec4 &v) { return glm::tvec2(v.w, v.x); } // wy - template + template GLM_INLINE glm::tvec2 wy(const glm::tvec4 &v) { return glm::tvec2(v.w, v.y); } // wz - template + template GLM_INLINE glm::tvec2 wz(const glm::tvec4 &v) { return glm::tvec2(v.w, v.z); } // ww - template + template GLM_INLINE glm::tvec2 ww(const glm::tvec4 &v) { return glm::tvec2(v.w, v.w); } // xxx - template + template GLM_INLINE glm::tvec3 xxx(const glm::tvec1 &v) { return glm::tvec3(v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 xxx(const glm::tvec2 &v) { return glm::tvec3(v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 xxx(const glm::tvec3 &v) { return glm::tvec3(v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 xxx(const glm::tvec4 &v) { return glm::tvec3(v.x, v.x, v.x); } // xxy - template + template GLM_INLINE glm::tvec3 xxy(const glm::tvec2 &v) { return glm::tvec3(v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec3 xxy(const glm::tvec3 &v) { return glm::tvec3(v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec3 xxy(const glm::tvec4 &v) { return glm::tvec3(v.x, v.x, v.y); } // xxz - template + template GLM_INLINE glm::tvec3 xxz(const glm::tvec3 &v) { return glm::tvec3(v.x, v.x, v.z); } - template + template GLM_INLINE glm::tvec3 xxz(const glm::tvec4 &v) { return glm::tvec3(v.x, v.x, v.z); } // xxw - template + template GLM_INLINE glm::tvec3 xxw(const glm::tvec4 &v) { return glm::tvec3(v.x, v.x, v.w); } // xyx - template + template GLM_INLINE glm::tvec3 xyx(const glm::tvec2 &v) { return glm::tvec3(v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec3 xyx(const glm::tvec3 &v) { return glm::tvec3(v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec3 xyx(const glm::tvec4 &v) { return glm::tvec3(v.x, v.y, v.x); } // xyy - template + template GLM_INLINE glm::tvec3 xyy(const glm::tvec2 &v) { return glm::tvec3(v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec3 xyy(const glm::tvec3 &v) { return glm::tvec3(v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec3 xyy(const glm::tvec4 &v) { return glm::tvec3(v.x, v.y, v.y); } // xyz - template + template GLM_INLINE glm::tvec3 xyz(const glm::tvec3 &v) { return glm::tvec3(v.x, v.y, v.z); } - template + template GLM_INLINE glm::tvec3 xyz(const glm::tvec4 &v) { return glm::tvec3(v.x, v.y, v.z); } // xyw - template + template GLM_INLINE glm::tvec3 xyw(const glm::tvec4 &v) { return glm::tvec3(v.x, v.y, v.w); } // xzx - template + template GLM_INLINE glm::tvec3 xzx(const glm::tvec3 &v) { return glm::tvec3(v.x, v.z, v.x); } - template + template GLM_INLINE glm::tvec3 xzx(const glm::tvec4 &v) { return glm::tvec3(v.x, v.z, v.x); } // xzy - template + template GLM_INLINE glm::tvec3 xzy(const glm::tvec3 &v) { return glm::tvec3(v.x, v.z, v.y); } - template + template GLM_INLINE glm::tvec3 xzy(const glm::tvec4 &v) { return glm::tvec3(v.x, v.z, v.y); } // xzz - template + template GLM_INLINE glm::tvec3 xzz(const glm::tvec3 &v) { return glm::tvec3(v.x, v.z, v.z); } - template + template GLM_INLINE glm::tvec3 xzz(const glm::tvec4 &v) { return glm::tvec3(v.x, v.z, v.z); } // xzw - template + template GLM_INLINE glm::tvec3 xzw(const glm::tvec4 &v) { return glm::tvec3(v.x, v.z, v.w); } // xwx - template + template GLM_INLINE glm::tvec3 xwx(const glm::tvec4 &v) { return glm::tvec3(v.x, v.w, v.x); } // xwy - template + template GLM_INLINE glm::tvec3 xwy(const glm::tvec4 &v) { return glm::tvec3(v.x, v.w, v.y); } // xwz - template + template GLM_INLINE glm::tvec3 xwz(const glm::tvec4 &v) { return glm::tvec3(v.x, v.w, v.z); } // xww - template + template GLM_INLINE glm::tvec3 xww(const glm::tvec4 &v) { return glm::tvec3(v.x, v.w, v.w); } // yxx - template + template GLM_INLINE glm::tvec3 yxx(const glm::tvec2 &v) { return glm::tvec3(v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 yxx(const glm::tvec3 &v) { return glm::tvec3(v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 yxx(const glm::tvec4 &v) { return glm::tvec3(v.y, v.x, v.x); } // yxy - template + template GLM_INLINE glm::tvec3 yxy(const glm::tvec2 &v) { return glm::tvec3(v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec3 yxy(const glm::tvec3 &v) { return glm::tvec3(v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec3 yxy(const glm::tvec4 &v) { return glm::tvec3(v.y, v.x, v.y); } // yxz - template + template GLM_INLINE glm::tvec3 yxz(const glm::tvec3 &v) { return glm::tvec3(v.y, v.x, v.z); } - template + template GLM_INLINE glm::tvec3 yxz(const glm::tvec4 &v) { return glm::tvec3(v.y, v.x, v.z); } // yxw - template + template GLM_INLINE glm::tvec3 yxw(const glm::tvec4 &v) { return glm::tvec3(v.y, v.x, v.w); } // yyx - template + template GLM_INLINE glm::tvec3 yyx(const glm::tvec2 &v) { return glm::tvec3(v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec3 yyx(const glm::tvec3 &v) { return glm::tvec3(v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec3 yyx(const glm::tvec4 &v) { return glm::tvec3(v.y, v.y, v.x); } // yyy - template + template GLM_INLINE glm::tvec3 yyy(const glm::tvec2 &v) { return glm::tvec3(v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec3 yyy(const glm::tvec3 &v) { return glm::tvec3(v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec3 yyy(const glm::tvec4 &v) { return glm::tvec3(v.y, v.y, v.y); } // yyz - template + template GLM_INLINE glm::tvec3 yyz(const glm::tvec3 &v) { return glm::tvec3(v.y, v.y, v.z); } - template + template GLM_INLINE glm::tvec3 yyz(const glm::tvec4 &v) { return glm::tvec3(v.y, v.y, v.z); } // yyw - template + template GLM_INLINE glm::tvec3 yyw(const glm::tvec4 &v) { return glm::tvec3(v.y, v.y, v.w); } // yzx - template + template GLM_INLINE glm::tvec3 yzx(const glm::tvec3 &v) { return glm::tvec3(v.y, v.z, v.x); } - template + template GLM_INLINE glm::tvec3 yzx(const glm::tvec4 &v) { return glm::tvec3(v.y, v.z, v.x); } // yzy - template + template GLM_INLINE glm::tvec3 yzy(const glm::tvec3 &v) { return glm::tvec3(v.y, v.z, v.y); } - template + template GLM_INLINE glm::tvec3 yzy(const glm::tvec4 &v) { return glm::tvec3(v.y, v.z, v.y); } // yzz - template + template GLM_INLINE glm::tvec3 yzz(const glm::tvec3 &v) { return glm::tvec3(v.y, v.z, v.z); } - template + template GLM_INLINE glm::tvec3 yzz(const glm::tvec4 &v) { return glm::tvec3(v.y, v.z, v.z); } // yzw - template + template GLM_INLINE glm::tvec3 yzw(const glm::tvec4 &v) { return glm::tvec3(v.y, v.z, v.w); } // ywx - template + template GLM_INLINE glm::tvec3 ywx(const glm::tvec4 &v) { return glm::tvec3(v.y, v.w, v.x); } // ywy - template + template GLM_INLINE glm::tvec3 ywy(const glm::tvec4 &v) { return glm::tvec3(v.y, v.w, v.y); } // ywz - template + template GLM_INLINE glm::tvec3 ywz(const glm::tvec4 &v) { return glm::tvec3(v.y, v.w, v.z); } // yww - template + template GLM_INLINE glm::tvec3 yww(const glm::tvec4 &v) { return glm::tvec3(v.y, v.w, v.w); } // zxx - template + template GLM_INLINE glm::tvec3 zxx(const glm::tvec3 &v) { return glm::tvec3(v.z, v.x, v.x); } - template + template GLM_INLINE glm::tvec3 zxx(const glm::tvec4 &v) { return glm::tvec3(v.z, v.x, v.x); } // zxy - template + template GLM_INLINE glm::tvec3 zxy(const glm::tvec3 &v) { return glm::tvec3(v.z, v.x, v.y); } - template + template GLM_INLINE glm::tvec3 zxy(const glm::tvec4 &v) { return glm::tvec3(v.z, v.x, v.y); } // zxz - template + template GLM_INLINE glm::tvec3 zxz(const glm::tvec3 &v) { return glm::tvec3(v.z, v.x, v.z); } - template + template GLM_INLINE glm::tvec3 zxz(const glm::tvec4 &v) { return glm::tvec3(v.z, v.x, v.z); } // zxw - template + template GLM_INLINE glm::tvec3 zxw(const glm::tvec4 &v) { return glm::tvec3(v.z, v.x, v.w); } // zyx - template + template GLM_INLINE glm::tvec3 zyx(const glm::tvec3 &v) { return glm::tvec3(v.z, v.y, v.x); } - template + template GLM_INLINE glm::tvec3 zyx(const glm::tvec4 &v) { return glm::tvec3(v.z, v.y, v.x); } // zyy - template + template GLM_INLINE glm::tvec3 zyy(const glm::tvec3 &v) { return glm::tvec3(v.z, v.y, v.y); } - template + template GLM_INLINE glm::tvec3 zyy(const glm::tvec4 &v) { return glm::tvec3(v.z, v.y, v.y); } // zyz - template + template GLM_INLINE glm::tvec3 zyz(const glm::tvec3 &v) { return glm::tvec3(v.z, v.y, v.z); } - template + template GLM_INLINE glm::tvec3 zyz(const glm::tvec4 &v) { return glm::tvec3(v.z, v.y, v.z); } // zyw - template + template GLM_INLINE glm::tvec3 zyw(const glm::tvec4 &v) { return glm::tvec3(v.z, v.y, v.w); } // zzx - template + template GLM_INLINE glm::tvec3 zzx(const glm::tvec3 &v) { return glm::tvec3(v.z, v.z, v.x); } - template + template GLM_INLINE glm::tvec3 zzx(const glm::tvec4 &v) { return glm::tvec3(v.z, v.z, v.x); } // zzy - template + template GLM_INLINE glm::tvec3 zzy(const glm::tvec3 &v) { return glm::tvec3(v.z, v.z, v.y); } - template + template GLM_INLINE glm::tvec3 zzy(const glm::tvec4 &v) { return glm::tvec3(v.z, v.z, v.y); } // zzz - template + template GLM_INLINE glm::tvec3 zzz(const glm::tvec3 &v) { return glm::tvec3(v.z, v.z, v.z); } - template + template GLM_INLINE glm::tvec3 zzz(const glm::tvec4 &v) { return glm::tvec3(v.z, v.z, v.z); } // zzw - template + template GLM_INLINE glm::tvec3 zzw(const glm::tvec4 &v) { return glm::tvec3(v.z, v.z, v.w); } // zwx - template + template GLM_INLINE glm::tvec3 zwx(const glm::tvec4 &v) { return glm::tvec3(v.z, v.w, v.x); } // zwy - template + template GLM_INLINE glm::tvec3 zwy(const glm::tvec4 &v) { return glm::tvec3(v.z, v.w, v.y); } // zwz - template + template GLM_INLINE glm::tvec3 zwz(const glm::tvec4 &v) { return glm::tvec3(v.z, v.w, v.z); } // zww - template + template GLM_INLINE glm::tvec3 zww(const glm::tvec4 &v) { return glm::tvec3(v.z, v.w, v.w); } // wxx - template + template GLM_INLINE glm::tvec3 wxx(const glm::tvec4 &v) { return glm::tvec3(v.w, v.x, v.x); } // wxy - template + template GLM_INLINE glm::tvec3 wxy(const glm::tvec4 &v) { return glm::tvec3(v.w, v.x, v.y); } // wxz - template + template GLM_INLINE glm::tvec3 wxz(const glm::tvec4 &v) { return glm::tvec3(v.w, v.x, v.z); } // wxw - template + template GLM_INLINE glm::tvec3 wxw(const glm::tvec4 &v) { return glm::tvec3(v.w, v.x, v.w); } // wyx - template + template GLM_INLINE glm::tvec3 wyx(const glm::tvec4 &v) { return glm::tvec3(v.w, v.y, v.x); } // wyy - template + template GLM_INLINE glm::tvec3 wyy(const glm::tvec4 &v) { return glm::tvec3(v.w, v.y, v.y); } // wyz - template + template GLM_INLINE glm::tvec3 wyz(const glm::tvec4 &v) { return glm::tvec3(v.w, v.y, v.z); } // wyw - template + template GLM_INLINE glm::tvec3 wyw(const glm::tvec4 &v) { return glm::tvec3(v.w, v.y, v.w); } // wzx - template + template GLM_INLINE glm::tvec3 wzx(const glm::tvec4 &v) { return glm::tvec3(v.w, v.z, v.x); } // wzy - template + template GLM_INLINE glm::tvec3 wzy(const glm::tvec4 &v) { return glm::tvec3(v.w, v.z, v.y); } // wzz - template + template GLM_INLINE glm::tvec3 wzz(const glm::tvec4 &v) { return glm::tvec3(v.w, v.z, v.z); } // wzw - template + template GLM_INLINE glm::tvec3 wzw(const glm::tvec4 &v) { return glm::tvec3(v.w, v.z, v.w); } // wwx - template + template GLM_INLINE glm::tvec3 wwx(const glm::tvec4 &v) { return glm::tvec3(v.w, v.w, v.x); } // wwy - template + template GLM_INLINE glm::tvec3 wwy(const glm::tvec4 &v) { return glm::tvec3(v.w, v.w, v.y); } // wwz - template + template GLM_INLINE glm::tvec3 wwz(const glm::tvec4 &v) { return glm::tvec3(v.w, v.w, v.z); } // www - template + template GLM_INLINE glm::tvec3 www(const glm::tvec4 &v) { return glm::tvec3(v.w, v.w, v.w); } // xxxx - template + template GLM_INLINE glm::tvec4 xxxx(const glm::tvec1 &v) { return glm::tvec4(v.x, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xxxx(const glm::tvec2 &v) { return glm::tvec4(v.x, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xxxx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xxxx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.x, v.x); } // xxxy - template + template GLM_INLINE glm::tvec4 xxxy(const glm::tvec2 &v) { return glm::tvec4(v.x, v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 xxxy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 xxxy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.x, v.y); } // xxxz - template + template GLM_INLINE glm::tvec4 xxxz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 xxxz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.x, v.z); } // xxxw - template + template GLM_INLINE glm::tvec4 xxxw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.x, v.w); } // xxyx - template + template GLM_INLINE glm::tvec4 xxyx(const glm::tvec2 &v) { return glm::tvec4(v.x, v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 xxyx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 xxyx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.y, v.x); } // xxyy - template + template GLM_INLINE glm::tvec4 xxyy(const glm::tvec2 &v) { return glm::tvec4(v.x, v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 xxyy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 xxyy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.y, v.y); } // xxyz - template + template GLM_INLINE glm::tvec4 xxyz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 xxyz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.y, v.z); } // xxyw - template + template GLM_INLINE glm::tvec4 xxyw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.y, v.w); } // xxzx - template + template GLM_INLINE glm::tvec4 xxzx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 xxzx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.z, v.x); } // xxzy - template + template GLM_INLINE glm::tvec4 xxzy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 xxzy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.z, v.y); } // xxzz - template + template GLM_INLINE glm::tvec4 xxzz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.x, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 xxzz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.z, v.z); } // xxzw - template + template GLM_INLINE glm::tvec4 xxzw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.z, v.w); } // xxwx - template + template GLM_INLINE glm::tvec4 xxwx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.w, v.x); } // xxwy - template + template GLM_INLINE glm::tvec4 xxwy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.w, v.y); } // xxwz - template + template GLM_INLINE glm::tvec4 xxwz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.w, v.z); } // xxww - template + template GLM_INLINE glm::tvec4 xxww(const glm::tvec4 &v) { return glm::tvec4(v.x, v.x, v.w, v.w); } // xyxx - template + template GLM_INLINE glm::tvec4 xyxx(const glm::tvec2 &v) { return glm::tvec4(v.x, v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xyxx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xyxx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.x, v.x); } // xyxy - template + template GLM_INLINE glm::tvec4 xyxy(const glm::tvec2 &v) { return glm::tvec4(v.x, v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 xyxy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 xyxy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.x, v.y); } // xyxz - template + template GLM_INLINE glm::tvec4 xyxz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 xyxz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.x, v.z); } // xyxw - template + template GLM_INLINE glm::tvec4 xyxw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.x, v.w); } // xyyx - template + template GLM_INLINE glm::tvec4 xyyx(const glm::tvec2 &v) { return glm::tvec4(v.x, v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 xyyx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 xyyx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.y, v.x); } // xyyy - template + template GLM_INLINE glm::tvec4 xyyy(const glm::tvec2 &v) { return glm::tvec4(v.x, v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 xyyy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 xyyy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.y, v.y); } // xyyz - template + template GLM_INLINE glm::tvec4 xyyz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 xyyz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.y, v.z); } // xyyw - template + template GLM_INLINE glm::tvec4 xyyw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.y, v.w); } // xyzx - template + template GLM_INLINE glm::tvec4 xyzx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 xyzx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.z, v.x); } // xyzy - template + template GLM_INLINE glm::tvec4 xyzy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 xyzy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.z, v.y); } // xyzz - template + template GLM_INLINE glm::tvec4 xyzz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.y, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 xyzz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.z, v.z); } // xyzw - template + template GLM_INLINE glm::tvec4 xyzw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.z, v.w); } // xywx - template + template GLM_INLINE glm::tvec4 xywx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.w, v.x); } // xywy - template + template GLM_INLINE glm::tvec4 xywy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.w, v.y); } // xywz - template + template GLM_INLINE glm::tvec4 xywz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.w, v.z); } // xyww - template + template GLM_INLINE glm::tvec4 xyww(const glm::tvec4 &v) { return glm::tvec4(v.x, v.y, v.w, v.w); } // xzxx - template + template GLM_INLINE glm::tvec4 xzxx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 xzxx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.x, v.x); } // xzxy - template + template GLM_INLINE glm::tvec4 xzxy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 xzxy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.x, v.y); } // xzxz - template + template GLM_INLINE glm::tvec4 xzxz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 xzxz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.x, v.z); } // xzxw - template + template GLM_INLINE glm::tvec4 xzxw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.x, v.w); } // xzyx - template + template GLM_INLINE glm::tvec4 xzyx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 xzyx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.y, v.x); } // xzyy - template + template GLM_INLINE glm::tvec4 xzyy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 xzyy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.y, v.y); } // xzyz - template + template GLM_INLINE glm::tvec4 xzyz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 xzyz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.y, v.z); } // xzyw - template + template GLM_INLINE glm::tvec4 xzyw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.y, v.w); } // xzzx - template + template GLM_INLINE glm::tvec4 xzzx(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 xzzx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.z, v.x); } // xzzy - template + template GLM_INLINE glm::tvec4 xzzy(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 xzzy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.z, v.y); } // xzzz - template + template GLM_INLINE glm::tvec4 xzzz(const glm::tvec3 &v) { return glm::tvec4(v.x, v.z, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 xzzz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.z, v.z); } // xzzw - template + template GLM_INLINE glm::tvec4 xzzw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.z, v.w); } // xzwx - template + template GLM_INLINE glm::tvec4 xzwx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.w, v.x); } // xzwy - template + template GLM_INLINE glm::tvec4 xzwy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.w, v.y); } // xzwz - template + template GLM_INLINE glm::tvec4 xzwz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.w, v.z); } // xzww - template + template GLM_INLINE glm::tvec4 xzww(const glm::tvec4 &v) { return glm::tvec4(v.x, v.z, v.w, v.w); } // xwxx - template + template GLM_INLINE glm::tvec4 xwxx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.x, v.x); } // xwxy - template + template GLM_INLINE glm::tvec4 xwxy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.x, v.y); } // xwxz - template + template GLM_INLINE glm::tvec4 xwxz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.x, v.z); } // xwxw - template + template GLM_INLINE glm::tvec4 xwxw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.x, v.w); } // xwyx - template + template GLM_INLINE glm::tvec4 xwyx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.y, v.x); } // xwyy - template + template GLM_INLINE glm::tvec4 xwyy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.y, v.y); } // xwyz - template + template GLM_INLINE glm::tvec4 xwyz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.y, v.z); } // xwyw - template + template GLM_INLINE glm::tvec4 xwyw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.y, v.w); } // xwzx - template + template GLM_INLINE glm::tvec4 xwzx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.z, v.x); } // xwzy - template + template GLM_INLINE glm::tvec4 xwzy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.z, v.y); } // xwzz - template + template GLM_INLINE glm::tvec4 xwzz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.z, v.z); } // xwzw - template + template GLM_INLINE glm::tvec4 xwzw(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.z, v.w); } // xwwx - template + template GLM_INLINE glm::tvec4 xwwx(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.w, v.x); } // xwwy - template + template GLM_INLINE glm::tvec4 xwwy(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.w, v.y); } // xwwz - template + template GLM_INLINE glm::tvec4 xwwz(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.w, v.z); } // xwww - template + template GLM_INLINE glm::tvec4 xwww(const glm::tvec4 &v) { return glm::tvec4(v.x, v.w, v.w, v.w); } // yxxx - template + template GLM_INLINE glm::tvec4 yxxx(const glm::tvec2 &v) { return glm::tvec4(v.y, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 yxxx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 yxxx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.x, v.x); } // yxxy - template + template GLM_INLINE glm::tvec4 yxxy(const glm::tvec2 &v) { return glm::tvec4(v.y, v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 yxxy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 yxxy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.x, v.y); } // yxxz - template + template GLM_INLINE glm::tvec4 yxxz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 yxxz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.x, v.z); } // yxxw - template + template GLM_INLINE glm::tvec4 yxxw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.x, v.w); } // yxyx - template + template GLM_INLINE glm::tvec4 yxyx(const glm::tvec2 &v) { return glm::tvec4(v.y, v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 yxyx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 yxyx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.y, v.x); } // yxyy - template + template GLM_INLINE glm::tvec4 yxyy(const glm::tvec2 &v) { return glm::tvec4(v.y, v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 yxyy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 yxyy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.y, v.y); } // yxyz - template + template GLM_INLINE glm::tvec4 yxyz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 yxyz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.y, v.z); } // yxyw - template + template GLM_INLINE glm::tvec4 yxyw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.y, v.w); } // yxzx - template + template GLM_INLINE glm::tvec4 yxzx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 yxzx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.z, v.x); } // yxzy - template + template GLM_INLINE glm::tvec4 yxzy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 yxzy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.z, v.y); } // yxzz - template + template GLM_INLINE glm::tvec4 yxzz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.x, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 yxzz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.z, v.z); } // yxzw - template + template GLM_INLINE glm::tvec4 yxzw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.z, v.w); } // yxwx - template + template GLM_INLINE glm::tvec4 yxwx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.w, v.x); } // yxwy - template + template GLM_INLINE glm::tvec4 yxwy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.w, v.y); } // yxwz - template + template GLM_INLINE glm::tvec4 yxwz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.w, v.z); } // yxww - template + template GLM_INLINE glm::tvec4 yxww(const glm::tvec4 &v) { return glm::tvec4(v.y, v.x, v.w, v.w); } // yyxx - template + template GLM_INLINE glm::tvec4 yyxx(const glm::tvec2 &v) { return glm::tvec4(v.y, v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 yyxx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 yyxx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.x, v.x); } // yyxy - template + template GLM_INLINE glm::tvec4 yyxy(const glm::tvec2 &v) { return glm::tvec4(v.y, v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 yyxy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 yyxy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.x, v.y); } // yyxz - template + template GLM_INLINE glm::tvec4 yyxz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 yyxz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.x, v.z); } // yyxw - template + template GLM_INLINE glm::tvec4 yyxw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.x, v.w); } // yyyx - template + template GLM_INLINE glm::tvec4 yyyx(const glm::tvec2 &v) { return glm::tvec4(v.y, v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 yyyx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 yyyx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.y, v.x); } // yyyy - template + template GLM_INLINE glm::tvec4 yyyy(const glm::tvec2 &v) { return glm::tvec4(v.y, v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 yyyy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 yyyy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.y, v.y); } // yyyz - template + template GLM_INLINE glm::tvec4 yyyz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 yyyz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.y, v.z); } // yyyw - template + template GLM_INLINE glm::tvec4 yyyw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.y, v.w); } // yyzx - template + template GLM_INLINE glm::tvec4 yyzx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 yyzx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.z, v.x); } // yyzy - template + template GLM_INLINE glm::tvec4 yyzy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 yyzy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.z, v.y); } // yyzz - template + template GLM_INLINE glm::tvec4 yyzz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.y, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 yyzz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.z, v.z); } // yyzw - template + template GLM_INLINE glm::tvec4 yyzw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.z, v.w); } // yywx - template + template GLM_INLINE glm::tvec4 yywx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.w, v.x); } // yywy - template + template GLM_INLINE glm::tvec4 yywy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.w, v.y); } // yywz - template + template GLM_INLINE glm::tvec4 yywz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.w, v.z); } // yyww - template + template GLM_INLINE glm::tvec4 yyww(const glm::tvec4 &v) { return glm::tvec4(v.y, v.y, v.w, v.w); } // yzxx - template + template GLM_INLINE glm::tvec4 yzxx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 yzxx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.x, v.x); } // yzxy - template + template GLM_INLINE glm::tvec4 yzxy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 yzxy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.x, v.y); } // yzxz - template + template GLM_INLINE glm::tvec4 yzxz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 yzxz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.x, v.z); } // yzxw - template + template GLM_INLINE glm::tvec4 yzxw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.x, v.w); } // yzyx - template + template GLM_INLINE glm::tvec4 yzyx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 yzyx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.y, v.x); } // yzyy - template + template GLM_INLINE glm::tvec4 yzyy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 yzyy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.y, v.y); } // yzyz - template + template GLM_INLINE glm::tvec4 yzyz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 yzyz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.y, v.z); } // yzyw - template + template GLM_INLINE glm::tvec4 yzyw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.y, v.w); } // yzzx - template + template GLM_INLINE glm::tvec4 yzzx(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 yzzx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.z, v.x); } // yzzy - template + template GLM_INLINE glm::tvec4 yzzy(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 yzzy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.z, v.y); } // yzzz - template + template GLM_INLINE glm::tvec4 yzzz(const glm::tvec3 &v) { return glm::tvec4(v.y, v.z, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 yzzz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.z, v.z); } // yzzw - template + template GLM_INLINE glm::tvec4 yzzw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.z, v.w); } // yzwx - template + template GLM_INLINE glm::tvec4 yzwx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.w, v.x); } // yzwy - template + template GLM_INLINE glm::tvec4 yzwy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.w, v.y); } // yzwz - template + template GLM_INLINE glm::tvec4 yzwz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.w, v.z); } // yzww - template + template GLM_INLINE glm::tvec4 yzww(const glm::tvec4 &v) { return glm::tvec4(v.y, v.z, v.w, v.w); } // ywxx - template + template GLM_INLINE glm::tvec4 ywxx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.x, v.x); } // ywxy - template + template GLM_INLINE glm::tvec4 ywxy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.x, v.y); } // ywxz - template + template GLM_INLINE glm::tvec4 ywxz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.x, v.z); } // ywxw - template + template GLM_INLINE glm::tvec4 ywxw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.x, v.w); } // ywyx - template + template GLM_INLINE glm::tvec4 ywyx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.y, v.x); } // ywyy - template + template GLM_INLINE glm::tvec4 ywyy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.y, v.y); } // ywyz - template + template GLM_INLINE glm::tvec4 ywyz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.y, v.z); } // ywyw - template + template GLM_INLINE glm::tvec4 ywyw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.y, v.w); } // ywzx - template + template GLM_INLINE glm::tvec4 ywzx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.z, v.x); } // ywzy - template + template GLM_INLINE glm::tvec4 ywzy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.z, v.y); } // ywzz - template + template GLM_INLINE glm::tvec4 ywzz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.z, v.z); } // ywzw - template + template GLM_INLINE glm::tvec4 ywzw(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.z, v.w); } // ywwx - template + template GLM_INLINE glm::tvec4 ywwx(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.w, v.x); } // ywwy - template + template GLM_INLINE glm::tvec4 ywwy(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.w, v.y); } // ywwz - template + template GLM_INLINE glm::tvec4 ywwz(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.w, v.z); } // ywww - template + template GLM_INLINE glm::tvec4 ywww(const glm::tvec4 &v) { return glm::tvec4(v.y, v.w, v.w, v.w); } // zxxx - template + template GLM_INLINE glm::tvec4 zxxx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 zxxx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.x, v.x); } // zxxy - template + template GLM_INLINE glm::tvec4 zxxy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 zxxy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.x, v.y); } // zxxz - template + template GLM_INLINE glm::tvec4 zxxz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 zxxz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.x, v.z); } // zxxw - template + template GLM_INLINE glm::tvec4 zxxw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.x, v.w); } // zxyx - template + template GLM_INLINE glm::tvec4 zxyx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 zxyx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.y, v.x); } // zxyy - template + template GLM_INLINE glm::tvec4 zxyy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 zxyy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.y, v.y); } // zxyz - template + template GLM_INLINE glm::tvec4 zxyz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 zxyz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.y, v.z); } // zxyw - template + template GLM_INLINE glm::tvec4 zxyw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.y, v.w); } // zxzx - template + template GLM_INLINE glm::tvec4 zxzx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 zxzx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.z, v.x); } // zxzy - template + template GLM_INLINE glm::tvec4 zxzy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 zxzy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.z, v.y); } // zxzz - template + template GLM_INLINE glm::tvec4 zxzz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.x, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 zxzz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.z, v.z); } // zxzw - template + template GLM_INLINE glm::tvec4 zxzw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.z, v.w); } // zxwx - template + template GLM_INLINE glm::tvec4 zxwx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.w, v.x); } // zxwy - template + template GLM_INLINE glm::tvec4 zxwy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.w, v.y); } // zxwz - template + template GLM_INLINE glm::tvec4 zxwz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.w, v.z); } // zxww - template + template GLM_INLINE glm::tvec4 zxww(const glm::tvec4 &v) { return glm::tvec4(v.z, v.x, v.w, v.w); } // zyxx - template + template GLM_INLINE glm::tvec4 zyxx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 zyxx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.x, v.x); } // zyxy - template + template GLM_INLINE glm::tvec4 zyxy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 zyxy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.x, v.y); } // zyxz - template + template GLM_INLINE glm::tvec4 zyxz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 zyxz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.x, v.z); } // zyxw - template + template GLM_INLINE glm::tvec4 zyxw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.x, v.w); } // zyyx - template + template GLM_INLINE glm::tvec4 zyyx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 zyyx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.y, v.x); } // zyyy - template + template GLM_INLINE glm::tvec4 zyyy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 zyyy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.y, v.y); } // zyyz - template + template GLM_INLINE glm::tvec4 zyyz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 zyyz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.y, v.z); } // zyyw - template + template GLM_INLINE glm::tvec4 zyyw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.y, v.w); } // zyzx - template + template GLM_INLINE glm::tvec4 zyzx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 zyzx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.z, v.x); } // zyzy - template + template GLM_INLINE glm::tvec4 zyzy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 zyzy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.z, v.y); } // zyzz - template + template GLM_INLINE glm::tvec4 zyzz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.y, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 zyzz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.z, v.z); } // zyzw - template + template GLM_INLINE glm::tvec4 zyzw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.z, v.w); } // zywx - template + template GLM_INLINE glm::tvec4 zywx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.w, v.x); } // zywy - template + template GLM_INLINE glm::tvec4 zywy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.w, v.y); } // zywz - template + template GLM_INLINE glm::tvec4 zywz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.w, v.z); } // zyww - template + template GLM_INLINE glm::tvec4 zyww(const glm::tvec4 &v) { return glm::tvec4(v.z, v.y, v.w, v.w); } // zzxx - template + template GLM_INLINE glm::tvec4 zzxx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.x, v.x); } - template + template GLM_INLINE glm::tvec4 zzxx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.x, v.x); } // zzxy - template + template GLM_INLINE glm::tvec4 zzxy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.x, v.y); } - template + template GLM_INLINE glm::tvec4 zzxy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.x, v.y); } // zzxz - template + template GLM_INLINE glm::tvec4 zzxz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.x, v.z); } - template + template GLM_INLINE glm::tvec4 zzxz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.x, v.z); } // zzxw - template + template GLM_INLINE glm::tvec4 zzxw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.x, v.w); } // zzyx - template + template GLM_INLINE glm::tvec4 zzyx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.y, v.x); } - template + template GLM_INLINE glm::tvec4 zzyx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.y, v.x); } // zzyy - template + template GLM_INLINE glm::tvec4 zzyy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.y, v.y); } - template + template GLM_INLINE glm::tvec4 zzyy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.y, v.y); } // zzyz - template + template GLM_INLINE glm::tvec4 zzyz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.y, v.z); } - template + template GLM_INLINE glm::tvec4 zzyz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.y, v.z); } // zzyw - template + template GLM_INLINE glm::tvec4 zzyw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.y, v.w); } // zzzx - template + template GLM_INLINE glm::tvec4 zzzx(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.z, v.x); } - template + template GLM_INLINE glm::tvec4 zzzx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.z, v.x); } // zzzy - template + template GLM_INLINE glm::tvec4 zzzy(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.z, v.y); } - template + template GLM_INLINE glm::tvec4 zzzy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.z, v.y); } // zzzz - template + template GLM_INLINE glm::tvec4 zzzz(const glm::tvec3 &v) { return glm::tvec4(v.z, v.z, v.z, v.z); } - template + template GLM_INLINE glm::tvec4 zzzz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.z, v.z); } // zzzw - template + template GLM_INLINE glm::tvec4 zzzw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.z, v.w); } // zzwx - template + template GLM_INLINE glm::tvec4 zzwx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.w, v.x); } // zzwy - template + template GLM_INLINE glm::tvec4 zzwy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.w, v.y); } // zzwz - template + template GLM_INLINE glm::tvec4 zzwz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.w, v.z); } // zzww - template + template GLM_INLINE glm::tvec4 zzww(const glm::tvec4 &v) { return glm::tvec4(v.z, v.z, v.w, v.w); } // zwxx - template + template GLM_INLINE glm::tvec4 zwxx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.x, v.x); } // zwxy - template + template GLM_INLINE glm::tvec4 zwxy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.x, v.y); } // zwxz - template + template GLM_INLINE glm::tvec4 zwxz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.x, v.z); } // zwxw - template + template GLM_INLINE glm::tvec4 zwxw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.x, v.w); } // zwyx - template + template GLM_INLINE glm::tvec4 zwyx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.y, v.x); } // zwyy - template + template GLM_INLINE glm::tvec4 zwyy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.y, v.y); } // zwyz - template + template GLM_INLINE glm::tvec4 zwyz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.y, v.z); } // zwyw - template + template GLM_INLINE glm::tvec4 zwyw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.y, v.w); } // zwzx - template + template GLM_INLINE glm::tvec4 zwzx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.z, v.x); } // zwzy - template + template GLM_INLINE glm::tvec4 zwzy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.z, v.y); } // zwzz - template + template GLM_INLINE glm::tvec4 zwzz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.z, v.z); } // zwzw - template + template GLM_INLINE glm::tvec4 zwzw(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.z, v.w); } // zwwx - template + template GLM_INLINE glm::tvec4 zwwx(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.w, v.x); } // zwwy - template + template GLM_INLINE glm::tvec4 zwwy(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.w, v.y); } // zwwz - template + template GLM_INLINE glm::tvec4 zwwz(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.w, v.z); } // zwww - template + template GLM_INLINE glm::tvec4 zwww(const glm::tvec4 &v) { return glm::tvec4(v.z, v.w, v.w, v.w); } // wxxx - template + template GLM_INLINE glm::tvec4 wxxx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.x, v.x); } // wxxy - template + template GLM_INLINE glm::tvec4 wxxy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.x, v.y); } // wxxz - template + template GLM_INLINE glm::tvec4 wxxz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.x, v.z); } // wxxw - template + template GLM_INLINE glm::tvec4 wxxw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.x, v.w); } // wxyx - template + template GLM_INLINE glm::tvec4 wxyx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.y, v.x); } // wxyy - template + template GLM_INLINE glm::tvec4 wxyy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.y, v.y); } // wxyz - template + template GLM_INLINE glm::tvec4 wxyz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.y, v.z); } // wxyw - template + template GLM_INLINE glm::tvec4 wxyw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.y, v.w); } // wxzx - template + template GLM_INLINE glm::tvec4 wxzx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.z, v.x); } // wxzy - template + template GLM_INLINE glm::tvec4 wxzy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.z, v.y); } // wxzz - template + template GLM_INLINE glm::tvec4 wxzz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.z, v.z); } // wxzw - template + template GLM_INLINE glm::tvec4 wxzw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.z, v.w); } // wxwx - template + template GLM_INLINE glm::tvec4 wxwx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.w, v.x); } // wxwy - template + template GLM_INLINE glm::tvec4 wxwy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.w, v.y); } // wxwz - template + template GLM_INLINE glm::tvec4 wxwz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.w, v.z); } // wxww - template + template GLM_INLINE glm::tvec4 wxww(const glm::tvec4 &v) { return glm::tvec4(v.w, v.x, v.w, v.w); } // wyxx - template + template GLM_INLINE glm::tvec4 wyxx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.x, v.x); } // wyxy - template + template GLM_INLINE glm::tvec4 wyxy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.x, v.y); } // wyxz - template + template GLM_INLINE glm::tvec4 wyxz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.x, v.z); } // wyxw - template + template GLM_INLINE glm::tvec4 wyxw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.x, v.w); } // wyyx - template + template GLM_INLINE glm::tvec4 wyyx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.y, v.x); } // wyyy - template + template GLM_INLINE glm::tvec4 wyyy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.y, v.y); } // wyyz - template + template GLM_INLINE glm::tvec4 wyyz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.y, v.z); } // wyyw - template + template GLM_INLINE glm::tvec4 wyyw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.y, v.w); } // wyzx - template + template GLM_INLINE glm::tvec4 wyzx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.z, v.x); } // wyzy - template + template GLM_INLINE glm::tvec4 wyzy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.z, v.y); } // wyzz - template + template GLM_INLINE glm::tvec4 wyzz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.z, v.z); } // wyzw - template + template GLM_INLINE glm::tvec4 wyzw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.z, v.w); } // wywx - template + template GLM_INLINE glm::tvec4 wywx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.w, v.x); } // wywy - template + template GLM_INLINE glm::tvec4 wywy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.w, v.y); } // wywz - template + template GLM_INLINE glm::tvec4 wywz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.w, v.z); } // wyww - template + template GLM_INLINE glm::tvec4 wyww(const glm::tvec4 &v) { return glm::tvec4(v.w, v.y, v.w, v.w); } // wzxx - template + template GLM_INLINE glm::tvec4 wzxx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.x, v.x); } // wzxy - template + template GLM_INLINE glm::tvec4 wzxy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.x, v.y); } // wzxz - template + template GLM_INLINE glm::tvec4 wzxz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.x, v.z); } // wzxw - template + template GLM_INLINE glm::tvec4 wzxw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.x, v.w); } // wzyx - template + template GLM_INLINE glm::tvec4 wzyx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.y, v.x); } // wzyy - template + template GLM_INLINE glm::tvec4 wzyy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.y, v.y); } // wzyz - template + template GLM_INLINE glm::tvec4 wzyz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.y, v.z); } // wzyw - template + template GLM_INLINE glm::tvec4 wzyw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.y, v.w); } // wzzx - template + template GLM_INLINE glm::tvec4 wzzx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.z, v.x); } // wzzy - template + template GLM_INLINE glm::tvec4 wzzy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.z, v.y); } // wzzz - template + template GLM_INLINE glm::tvec4 wzzz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.z, v.z); } // wzzw - template + template GLM_INLINE glm::tvec4 wzzw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.z, v.w); } // wzwx - template + template GLM_INLINE glm::tvec4 wzwx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.w, v.x); } // wzwy - template + template GLM_INLINE glm::tvec4 wzwy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.w, v.y); } // wzwz - template + template GLM_INLINE glm::tvec4 wzwz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.w, v.z); } // wzww - template + template GLM_INLINE glm::tvec4 wzww(const glm::tvec4 &v) { return glm::tvec4(v.w, v.z, v.w, v.w); } // wwxx - template + template GLM_INLINE glm::tvec4 wwxx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.x, v.x); } // wwxy - template + template GLM_INLINE glm::tvec4 wwxy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.x, v.y); } // wwxz - template + template GLM_INLINE glm::tvec4 wwxz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.x, v.z); } // wwxw - template + template GLM_INLINE glm::tvec4 wwxw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.x, v.w); } // wwyx - template + template GLM_INLINE glm::tvec4 wwyx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.y, v.x); } // wwyy - template + template GLM_INLINE glm::tvec4 wwyy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.y, v.y); } // wwyz - template + template GLM_INLINE glm::tvec4 wwyz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.y, v.z); } // wwyw - template + template GLM_INLINE glm::tvec4 wwyw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.y, v.w); } // wwzx - template + template GLM_INLINE glm::tvec4 wwzx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.z, v.x); } // wwzy - template + template GLM_INLINE glm::tvec4 wwzy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.z, v.y); } // wwzz - template + template GLM_INLINE glm::tvec4 wwzz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.z, v.z); } // wwzw - template + template GLM_INLINE glm::tvec4 wwzw(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.z, v.w); } // wwwx - template + template GLM_INLINE glm::tvec4 wwwx(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.w, v.x); } // wwwy - template + template GLM_INLINE glm::tvec4 wwwy(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.w, v.y); } // wwwz - template + template GLM_INLINE glm::tvec4 wwwz(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.w, v.z); } // wwww - template + template GLM_INLINE glm::tvec4 wwww(const glm::tvec4 &v) { return glm::tvec4(v.w, v.w, v.w, v.w); }