{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE RankNTypes #-}
module Geomancy.Swizzle
( swizzle
, (.@)
) where
import GHC.OverloadedLabels
import Geomancy.Vec2 (Vec2, vec2, withVec2)
import Geomancy.Vec3 (Vec3, vec3, withVec3)
import Geomancy.Vec4 (Vec4, vec4, withVec4)
newtype Swizzle to fro = Swizzle { forall to fro. Swizzle to fro -> fro -> to
swizzle :: fro -> to }
{-# INLINE (.@) #-}
(.@) :: forall to fro . fro -> Swizzle to fro -> to
fro
v .@ :: forall to fro. fro -> Swizzle to fro -> to
.@ Swizzle fro -> to
f = fro -> to
f fro
v
instance IsLabel "x" (Swizzle Float Vec2) where
fromLabel :: Swizzle Float Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
_ -> Float
x
instance IsLabel "y" (Swizzle Float Vec2) where
fromLabel :: Swizzle Float Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
_ Float
y -> Float
y
instance IsLabel "xx" (Swizzle Vec2 Vec2) where
fromLabel :: Swizzle Vec2 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
x
instance IsLabel "yx" (Swizzle Vec2 Vec2) where
fromLabel :: Swizzle Vec2 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Vec2
vec2 Float
y Float
x
instance IsLabel "yy" (Swizzle Vec2 Vec2) where
fromLabel :: Swizzle Vec2 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
_ Float
y -> Float -> Float -> Vec2
vec2 Float
y Float
y
instance IsLabel "xxx" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
x
instance IsLabel "xxy" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
y
instance IsLabel "xyx" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
x
instance IsLabel "xyy" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
y
instance IsLabel "yxx" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
x
instance IsLabel "yxy" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
y
instance IsLabel "yyx" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
x
instance IsLabel "yyy" (Swizzle Vec3 Vec2) where
fromLabel :: Swizzle Vec3 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
_ Float
y -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
y
instance IsLabel "xxxx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
x
instance IsLabel "xxxy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
y
instance IsLabel "xxyx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
x
instance IsLabel "xxyy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
y
instance IsLabel "xyxx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
x
instance IsLabel "xyxy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
y
instance IsLabel "xyyx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
x
instance IsLabel "xyyy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
y
instance IsLabel "yxxx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
x
instance IsLabel "yxxy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
y
instance IsLabel "yxyx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
x
instance IsLabel "yxyy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
y
instance IsLabel "yyxx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
x
instance IsLabel "yyxy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
y
instance IsLabel "yyyx" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
x Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
x
instance IsLabel "yyyy" (Swizzle Vec4 Vec2) where
fromLabel :: Swizzle Vec4 Vec2
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec2
v -> forall r. Vec2 -> (Float -> Float -> r) -> r
withVec2 Vec2
v \Float
_ Float
y -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
y
instance IsLabel "x" (Swizzle Float Vec3) where
fromLabel :: Swizzle Float Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
_ -> Float
x
instance IsLabel "y" (Swizzle Float Vec3) where
fromLabel :: Swizzle Float Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
_ -> Float
y
instance IsLabel "z" (Swizzle Float Vec3) where
fromLabel :: Swizzle Float Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
_ Float
z -> Float
z
instance IsLabel "xx" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
x
instance IsLabel "xy" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
y
instance IsLabel "xz" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Vec2
vec2 Float
x Float
z
instance IsLabel "yx" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Vec2
vec2 Float
y Float
x
instance IsLabel "yy" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
_ -> Float -> Float -> Vec2
vec2 Float
y Float
y
instance IsLabel "yz" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Vec2
vec2 Float
y Float
z
instance IsLabel "zx" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Vec2
vec2 Float
z Float
x
instance IsLabel "zy" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Vec2
vec2 Float
z Float
y
instance IsLabel "zz" (Swizzle Vec2 Vec3) where
fromLabel :: Swizzle Vec2 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
_ Float
z -> Float -> Float -> Vec2
vec2 Float
z Float
z
instance IsLabel "xxx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
x
instance IsLabel "xxy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
y
instance IsLabel "xxz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
z
instance IsLabel "xyx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
x
instance IsLabel "xyy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
y
instance IsLabel "xzx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
x
instance IsLabel "xzy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
y
instance IsLabel "xzz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
z
instance IsLabel "yxx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
x
instance IsLabel "yxy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
y
instance IsLabel "yxz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
z
instance IsLabel "yyx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
x
instance IsLabel "yyy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
y
instance IsLabel "yyz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
z
instance IsLabel "yzx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
x
instance IsLabel "yzy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
y
instance IsLabel "yzz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
z
instance IsLabel "zxx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
x
instance IsLabel "zxy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
y
instance IsLabel "zxz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
z
instance IsLabel "zyx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
x
instance IsLabel "zyy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
y
instance IsLabel "zyz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
z
instance IsLabel "zzx" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
x
instance IsLabel "zzy" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
y
instance IsLabel "zzz" (Swizzle Vec3 Vec3) where
fromLabel :: Swizzle Vec3 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
_ Float
z -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
z
instance IsLabel "xxxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
x
instance IsLabel "xxxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
y
instance IsLabel "xxxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
z
instance IsLabel "xxyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
x
instance IsLabel "xxyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
y
instance IsLabel "xxyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
z
instance IsLabel "xxzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
x
instance IsLabel "xxzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
y
instance IsLabel "xxzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
z
instance IsLabel "xyxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
x
instance IsLabel "xyxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
y
instance IsLabel "xyxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
z
instance IsLabel "xyyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
x
instance IsLabel "xyyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
y
instance IsLabel "xyyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
z
instance IsLabel "xyzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
x
instance IsLabel "xyzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
y
instance IsLabel "xyzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
z
instance IsLabel "xzxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
x
instance IsLabel "xzxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
y
instance IsLabel "xzxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
z
instance IsLabel "xzyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
x
instance IsLabel "xzyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
y
instance IsLabel "xzyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
z
instance IsLabel "xzzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
x
instance IsLabel "xzzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
y
instance IsLabel "xzzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
z
instance IsLabel "yxxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
x
instance IsLabel "yxxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
y
instance IsLabel "yxxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
z
instance IsLabel "yxyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
x
instance IsLabel "yxyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
y
instance IsLabel "yxyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
z
instance IsLabel "yxzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
x
instance IsLabel "yxzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
y
instance IsLabel "yxzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
z
instance IsLabel "yyxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
x
instance IsLabel "yyxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
y
instance IsLabel "yyxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
z
instance IsLabel "yyyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
x
instance IsLabel "yyyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
y
instance IsLabel "yyyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
z
instance IsLabel "yyzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
x
instance IsLabel "yyzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
y
instance IsLabel "yyzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
z
instance IsLabel "yzxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
x
instance IsLabel "yzxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
y
instance IsLabel "yzxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
z
instance IsLabel "yzyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
x
instance IsLabel "yzyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
y
instance IsLabel "yzyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
z
instance IsLabel "yzzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
x
instance IsLabel "yzzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
y
instance IsLabel "yzzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
z
instance IsLabel "zxxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
x
instance IsLabel "zxxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
y
instance IsLabel "zxxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
z
instance IsLabel "zxyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
x
instance IsLabel "zxyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
y
instance IsLabel "zxyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
z
instance IsLabel "zxzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
x
instance IsLabel "zxzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
y
instance IsLabel "zxzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
z
instance IsLabel "zyxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
x
instance IsLabel "zyxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
y
instance IsLabel "zyxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
z
instance IsLabel "zyyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
x
instance IsLabel "zyyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
y
instance IsLabel "zyyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
z
instance IsLabel "zyzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
x
instance IsLabel "zyzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
y
instance IsLabel "zyzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
z
instance IsLabel "zzxx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
x
instance IsLabel "zzxy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
y
instance IsLabel "zzxz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
z
instance IsLabel "zzyx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
x
instance IsLabel "zzyy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
y
instance IsLabel "zzyz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
z
instance IsLabel "zzzx" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
x Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
x
instance IsLabel "zzzy" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
y Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
y
instance IsLabel "zzzz" (Swizzle Vec4 Vec3) where
fromLabel :: Swizzle Vec4 Vec3
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec3
v -> forall r. Vec3 -> (Float -> Float -> Float -> r) -> r
withVec3 Vec3
v \Float
_ Float
_ Float
z -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
z
instance IsLabel "x" (Swizzle Float Vec4) where
fromLabel :: Swizzle Float Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
_ -> Float
x
instance IsLabel "y" (Swizzle Float Vec4) where
fromLabel :: Swizzle Float Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
_ -> Float
y
instance IsLabel "z" (Swizzle Float Vec4) where
fromLabel :: Swizzle Float Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
_ -> Float
z
instance IsLabel "w" (Swizzle Float Vec4) where
fromLabel :: Swizzle Float Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
_ Float
w -> Float
w
instance IsLabel "xx" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
x
instance IsLabel "xy" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
y
instance IsLabel "xz" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Vec2
vec2 Float
x Float
z
instance IsLabel "xw" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Vec2
vec2 Float
x Float
w
instance IsLabel "yx" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Vec2
vec2 Float
y Float
x
instance IsLabel "yy" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
_ -> Float -> Float -> Vec2
vec2 Float
y Float
y
instance IsLabel "yz" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Vec2
vec2 Float
y Float
z
instance IsLabel "yw" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Vec2
vec2 Float
y Float
w
instance IsLabel "zx" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Vec2
vec2 Float
z Float
x
instance IsLabel "zy" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Vec2
vec2 Float
z Float
y
instance IsLabel "zz" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
_ -> Float -> Float -> Vec2
vec2 Float
z Float
z
instance IsLabel "zw" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Vec2
vec2 Float
z Float
w
instance IsLabel "wx" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Vec2
vec2 Float
w Float
x
instance IsLabel "wy" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Vec2
vec2 Float
w Float
y
instance IsLabel "wz" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Vec2
vec2 Float
w Float
z
instance IsLabel "ww" (Swizzle Vec2 Vec4) where
fromLabel :: Swizzle Vec2 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
_ Float
w -> Float -> Float -> Vec2
vec2 Float
w Float
w
instance IsLabel "xxx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
x
instance IsLabel "xxy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
y
instance IsLabel "xxz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
z
instance IsLabel "xxw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
x Float
w
instance IsLabel "xyx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
x
instance IsLabel "xyy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
y
instance IsLabel "xyz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
z
instance IsLabel "xyw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
y Float
w
instance IsLabel "xzx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
x
instance IsLabel "xzy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
y
instance IsLabel "xzz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
z
instance IsLabel "xzw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
z Float
w
instance IsLabel "xwx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
w Float
x
instance IsLabel "xwy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
w Float
y
instance IsLabel "xwz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
w Float
z
instance IsLabel "xww" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
x Float
w Float
w
instance IsLabel "yxx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
x
instance IsLabel "yxy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
y
instance IsLabel "yxz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
z
instance IsLabel "yxw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
x Float
w
instance IsLabel "yyx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
x
instance IsLabel "yyy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
y
instance IsLabel "yyz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
z
instance IsLabel "yyw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
y Float
w
instance IsLabel "yzx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
x
instance IsLabel "yzy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
y
instance IsLabel "yzz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
z
instance IsLabel "yzw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
z Float
w
instance IsLabel "ywx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
w Float
x
instance IsLabel "ywy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
w Float
y
instance IsLabel "ywz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
w Float
z
instance IsLabel "yww" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
y Float
w Float
w
instance IsLabel "zxx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
x
instance IsLabel "zxy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
y
instance IsLabel "zxz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
z
instance IsLabel "zxw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
x Float
w
instance IsLabel "zyx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
x
instance IsLabel "zyy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
y
instance IsLabel "zyz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
z
instance IsLabel "zyw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
y Float
w
instance IsLabel "zzx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
x
instance IsLabel "zzy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
y
instance IsLabel "zzz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
_ -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
z
instance IsLabel "zzw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
z Float
w
instance IsLabel "zwx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
w Float
x
instance IsLabel "zwy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
w Float
y
instance IsLabel "zwz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
w Float
z
instance IsLabel "zww" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
z Float
w Float
w
instance IsLabel "wxx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
x Float
x
instance IsLabel "wxy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
x Float
y
instance IsLabel "wxz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
x Float
z
instance IsLabel "wxw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
x Float
w
instance IsLabel "wyx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
y Float
x
instance IsLabel "wyy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
y Float
y
instance IsLabel "wyz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
y Float
z
instance IsLabel "wyw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
y Float
w
instance IsLabel "wzx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
z Float
x
instance IsLabel "wzy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
z Float
y
instance IsLabel "wzz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
z Float
z
instance IsLabel "wzw" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
z Float
w
instance IsLabel "wwx" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
w Float
x
instance IsLabel "wwy" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
w Float
y
instance IsLabel "wwz" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
w Float
z
instance IsLabel "www" (Swizzle Vec3 Vec4) where
fromLabel :: Swizzle Vec3 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
_ Float
w -> Float -> Float -> Float -> Vec3
vec3 Float
w Float
w Float
w
instance IsLabel "xxxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
x
instance IsLabel "xxxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
y
instance IsLabel "xxxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
z
instance IsLabel "xxxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
x Float
w
instance IsLabel "xxyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
x
instance IsLabel "xxyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
y
instance IsLabel "xxyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
z
instance IsLabel "xxyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
y Float
w
instance IsLabel "xxzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
x
instance IsLabel "xxzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
y
instance IsLabel "xxzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
z
instance IsLabel "xxzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
z Float
w
instance IsLabel "xxwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
w Float
x
instance IsLabel "xxwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
w Float
y
instance IsLabel "xxwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
w Float
z
instance IsLabel "xxww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
x Float
w Float
w
instance IsLabel "xyxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
x
instance IsLabel "xyxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
y
instance IsLabel "xyxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
z
instance IsLabel "xyxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
x Float
w
instance IsLabel "xyyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
x
instance IsLabel "xyyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
y
instance IsLabel "xyyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
z
instance IsLabel "xyyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
y Float
w
instance IsLabel "xyzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
x
instance IsLabel "xyzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
y
instance IsLabel "xyzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
z Float
z
instance IsLabel "xywx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
w Float
x
instance IsLabel "xywy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
w Float
y
instance IsLabel "xywz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
w Float
z
instance IsLabel "xyww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
y Float
w Float
w
instance IsLabel "xzxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
x
instance IsLabel "xzxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
y
instance IsLabel "xzxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
z
instance IsLabel "xzxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
x Float
w
instance IsLabel "xzyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
x
instance IsLabel "xzyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
y
instance IsLabel "xzyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
z
instance IsLabel "xzyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
y Float
w
instance IsLabel "xzzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
x
instance IsLabel "xzzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
y
instance IsLabel "xzzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
z
instance IsLabel "xzzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
z Float
w
instance IsLabel "xzwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
w Float
x
instance IsLabel "xzwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
w Float
y
instance IsLabel "xzwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
w Float
z
instance IsLabel "xzww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
z Float
w Float
w
instance IsLabel "xwxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
x Float
x
instance IsLabel "xwxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
x Float
y
instance IsLabel "xwxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
x Float
z
instance IsLabel "xwxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
x Float
w
instance IsLabel "xwyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
y Float
x
instance IsLabel "xwyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
y Float
y
instance IsLabel "xwyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
y Float
z
instance IsLabel "xwyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
y Float
w
instance IsLabel "xwzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
z Float
x
instance IsLabel "xwzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
z Float
y
instance IsLabel "xwzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
z Float
z
instance IsLabel "xwzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
z Float
w
instance IsLabel "xwwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
w Float
x
instance IsLabel "xwwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
w Float
y
instance IsLabel "xwwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
w Float
z
instance IsLabel "xwww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
x Float
w Float
w Float
w
instance IsLabel "yxxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
x
instance IsLabel "yxxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
y
instance IsLabel "yxxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
z
instance IsLabel "yxxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
x Float
w
instance IsLabel "yxyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
x
instance IsLabel "yxyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
y
instance IsLabel "yxyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
z
instance IsLabel "yxyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
y Float
w
instance IsLabel "yxzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
x
instance IsLabel "yxzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
y
instance IsLabel "yxzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
z
instance IsLabel "yxzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
z Float
w
instance IsLabel "yxwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
w Float
x
instance IsLabel "yxwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
w Float
y
instance IsLabel "yxwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
w Float
z
instance IsLabel "yxww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
x Float
w Float
w
instance IsLabel "yyxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
x
instance IsLabel "yyxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
y
instance IsLabel "yyxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
z
instance IsLabel "yyxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
x Float
w
instance IsLabel "yyyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
x
instance IsLabel "yyyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
y
instance IsLabel "yyyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
z
instance IsLabel "yyyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
y Float
w
instance IsLabel "yyzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
x
instance IsLabel "yyzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
y
instance IsLabel "yyzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
z
instance IsLabel "yyzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
z Float
w
instance IsLabel "yywx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
w Float
x
instance IsLabel "yywy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
w Float
y
instance IsLabel "yywz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
w Float
z
instance IsLabel "yyww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
y Float
w Float
w
instance IsLabel "yzxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
x
instance IsLabel "yzxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
y
instance IsLabel "yzxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
z
instance IsLabel "yzxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
x Float
w
instance IsLabel "yzyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
x
instance IsLabel "yzyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
y
instance IsLabel "yzyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
z
instance IsLabel "yzyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
y Float
w
instance IsLabel "yzzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
x
instance IsLabel "yzzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
y
instance IsLabel "yzzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
z
instance IsLabel "yzzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
z Float
w
instance IsLabel "yzwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
w Float
x
instance IsLabel "yzwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
w Float
y
instance IsLabel "yzwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
w Float
z
instance IsLabel "yzww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
z Float
w Float
w
instance IsLabel "ywxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
x Float
x
instance IsLabel "ywxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
x Float
y
instance IsLabel "ywxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
x Float
z
instance IsLabel "ywxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
x Float
w
instance IsLabel "ywyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
y Float
x
instance IsLabel "ywyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
y Float
y
instance IsLabel "ywyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
y Float
z
instance IsLabel "ywyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
y Float
w
instance IsLabel "ywzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
z Float
x
instance IsLabel "ywzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
z Float
y
instance IsLabel "ywzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
z Float
z
instance IsLabel "ywzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
z Float
w
instance IsLabel "ywwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
w Float
x
instance IsLabel "ywwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
w Float
y
instance IsLabel "ywwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
w Float
z
instance IsLabel "ywww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
y Float
w Float
w Float
w
instance IsLabel "zxxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
x
instance IsLabel "zxxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
y
instance IsLabel "zxxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
z
instance IsLabel "zxxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
x Float
w
instance IsLabel "zxyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
x
instance IsLabel "zxyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
y
instance IsLabel "zxyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
z
instance IsLabel "zxyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
y Float
w
instance IsLabel "zxzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
x
instance IsLabel "zxzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
y
instance IsLabel "zxzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
z
instance IsLabel "zxzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
z Float
w
instance IsLabel "zxwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
w Float
x
instance IsLabel "zxwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
w Float
y
instance IsLabel "zxwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
w Float
z
instance IsLabel "zxww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
x Float
w Float
w
instance IsLabel "zyxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
x
instance IsLabel "zyxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
y
instance IsLabel "zyxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
z
instance IsLabel "zyxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
x Float
w
instance IsLabel "zyyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
x
instance IsLabel "zyyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
y
instance IsLabel "zyyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
z
instance IsLabel "zyyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
y Float
w
instance IsLabel "zyzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
x
instance IsLabel "zyzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
y
instance IsLabel "zyzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
z
instance IsLabel "zyzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
z Float
w
instance IsLabel "zywx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
w Float
x
instance IsLabel "zywy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
w Float
y
instance IsLabel "zywz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
w Float
z
instance IsLabel "zyww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
y Float
w Float
w
instance IsLabel "zzxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
x
instance IsLabel "zzxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
y
instance IsLabel "zzxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
z
instance IsLabel "zzxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
x Float
w
instance IsLabel "zzyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
x
instance IsLabel "zzyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
y
instance IsLabel "zzyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
z
instance IsLabel "zzyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
y Float
w
instance IsLabel "zzzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
x
instance IsLabel "zzzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
y
instance IsLabel "zzzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
_ -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
z
instance IsLabel "zzzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
z Float
w
instance IsLabel "zzwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
w Float
x
instance IsLabel "zzwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
w Float
y
instance IsLabel "zzwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
w Float
z
instance IsLabel "zzww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
z Float
w Float
w
instance IsLabel "zwxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
x Float
x
instance IsLabel "zwxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
x Float
y
instance IsLabel "zwxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
x Float
z
instance IsLabel "zwxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
x Float
w
instance IsLabel "zwyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
y Float
x
instance IsLabel "zwyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
y Float
y
instance IsLabel "zwyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
y Float
z
instance IsLabel "zwyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
y Float
w
instance IsLabel "zwzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
z Float
x
instance IsLabel "zwzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
z Float
y
instance IsLabel "zwzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
z Float
z
instance IsLabel "zwzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
z Float
w
instance IsLabel "zwwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
w Float
x
instance IsLabel "zwwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
w Float
y
instance IsLabel "zwwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
w Float
z
instance IsLabel "zwww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
z Float
w Float
w Float
w
instance IsLabel "wxxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
x Float
x
instance IsLabel "wxxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
x Float
y
instance IsLabel "wxxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
x Float
z
instance IsLabel "wxxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
x Float
w
instance IsLabel "wxyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
y Float
x
instance IsLabel "wxyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
y Float
y
instance IsLabel "wxyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
y Float
z
instance IsLabel "wxyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
y Float
w
instance IsLabel "wxzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
z Float
x
instance IsLabel "wxzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
z Float
y
instance IsLabel "wxzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
z Float
z
instance IsLabel "wxzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
z Float
w
instance IsLabel "wxwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
w Float
x
instance IsLabel "wxwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
w Float
y
instance IsLabel "wxwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
w Float
z
instance IsLabel "wxww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
x Float
w Float
w
instance IsLabel "wyxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
x Float
x
instance IsLabel "wyxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
x Float
y
instance IsLabel "wyxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
x Float
z
instance IsLabel "wyxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
x Float
w
instance IsLabel "wyyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
y Float
x
instance IsLabel "wyyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
y Float
y
instance IsLabel "wyyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
y Float
z
instance IsLabel "wyyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
y Float
w
instance IsLabel "wyzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
z Float
x
instance IsLabel "wyzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
z Float
y
instance IsLabel "wyzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
z Float
z
instance IsLabel "wyzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
z Float
w
instance IsLabel "wywx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
w Float
x
instance IsLabel "wywy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
w Float
y
instance IsLabel "wywz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
w Float
z
instance IsLabel "wyww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
y Float
w Float
w
instance IsLabel "wzxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
x Float
x
instance IsLabel "wzxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
x Float
y
instance IsLabel "wzxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
x Float
z
instance IsLabel "wzxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
x Float
w
instance IsLabel "wzyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
y Float
x
instance IsLabel "wzyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
y Float
y
instance IsLabel "wzyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
y Float
z
instance IsLabel "wzyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
y Float
w
instance IsLabel "wzzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
z Float
x
instance IsLabel "wzzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
z Float
y
instance IsLabel "wzzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
z Float
z
instance IsLabel "wzzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
z Float
w
instance IsLabel "wzwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
w Float
x
instance IsLabel "wzwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
w Float
y
instance IsLabel "wzwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
w Float
z
instance IsLabel "wzww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
z Float
w Float
w
instance IsLabel "wwxx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
x Float
x
instance IsLabel "wwxy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
x Float
y
instance IsLabel "wwxz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
x Float
z
instance IsLabel "wwxw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
x Float
w
instance IsLabel "wwyx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
y Float
x
instance IsLabel "wwyy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
y Float
y
instance IsLabel "wwyz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
y Float
z
instance IsLabel "wwyw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
y Float
w
instance IsLabel "wwzx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
z Float
x
instance IsLabel "wwzy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
z Float
y
instance IsLabel "wwzz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
z Float
z
instance IsLabel "wwzw" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
z Float
w
instance IsLabel "wwwx" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
x Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
w Float
x
instance IsLabel "wwwy" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
y Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
w Float
y
instance IsLabel "wwwz" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
z Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
w Float
z
instance IsLabel "wwww" (Swizzle Vec4 Vec4) where
fromLabel :: Swizzle Vec4 Vec4
fromLabel = forall to fro. (fro -> to) -> Swizzle to fro
Swizzle \Vec4
v -> forall r. Vec4 -> (Float -> Float -> Float -> Float -> r) -> r
withVec4 Vec4
v \Float
_ Float
_ Float
_ Float
w -> Float -> Float -> Float -> Float -> Vec4
vec4 Float
w Float
w Float
w Float
w