geomancy-0.4.0.0: src/Geomancy/Swizzle/U64Vec/Shuffle.hs
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Geomancy.Swizzle.U64Vec.Shuffle () where
import GHC.Records (HasField(..))
import Geomancy.U64Vec2 (U64Vec2, u64vec2, withU64Vec2)
import Geomancy.U64Vec3 (U64Vec3, u64vec3, withU64Vec3)
import Geomancy.U64Vec4 (U64Vec4, u64vec4, withU64Vec4)
instance HasField "xx" U64Vec2 U64Vec2 where
{-# INLINE getField #-}
getField v = withU64Vec2 v \x _ -> u64vec2 x x
instance HasField "xy" U64Vec2 U64Vec2 where
{-# INLINE getField #-}
getField v = v
instance HasField "yx" U64Vec2 U64Vec2 where
{-# INLINE getField #-}
getField v = withU64Vec2 v \x y -> u64vec2 y x
instance HasField "yy" U64Vec2 U64Vec2 where
{-# INLINE getField #-}
getField v = withU64Vec2 v \_ y -> u64vec2 y y
instance HasField "xxx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ _ -> u64vec3 x x x
instance HasField "xxy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 x x y
instance HasField "xxz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 x x z
instance HasField "xyx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 x y x
instance HasField "xyy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 x y y
instance HasField "xyz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = v
instance HasField "xzx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 x z x
instance HasField "xzy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y z -> u64vec3 x z y
instance HasField "xzz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 x z z
instance HasField "yxx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 y x x
instance HasField "yxy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 y x y
instance HasField "yxz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y z -> u64vec3 y x z
instance HasField "yyx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y _ -> u64vec3 y y x
instance HasField "yyy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y _ -> u64vec3 y y y
instance HasField "yyz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 y y z
instance HasField "yzx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y z -> u64vec3 y z x
instance HasField "yzy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 y z y
instance HasField "yzz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 y z z
instance HasField "zxx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 z x x
instance HasField "zxy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y z -> u64vec3 z x y
instance HasField "zxz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 z x z
instance HasField "zyx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x y z -> u64vec3 z y x
instance HasField "zyy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 z y y
instance HasField "zyz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 z y z
instance HasField "zzx" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \x _ z -> u64vec3 z z x
instance HasField "zzy" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ y z -> u64vec3 z z y
instance HasField "zzz" U64Vec3 U64Vec3 where
{-# INLINE getField #-}
getField v = withU64Vec3 v \_ _ z -> u64vec3 z z z
instance HasField "xxxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ _ -> u64vec4 x x x x
instance HasField "xxxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x x x y
instance HasField "xxxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x x x z
instance HasField "xxxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x x x w
instance HasField "xxyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x x y x
instance HasField "xxyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x x y y
instance HasField "xxyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x x y z
instance HasField "xxyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x x y w
instance HasField "xxzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x x z x
instance HasField "xxzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x x z y
instance HasField "xxzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x x z z
instance HasField "xxzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x x z w
instance HasField "xxwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x x w x
instance HasField "xxwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x x w y
instance HasField "xxwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x x w z
instance HasField "xxww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x x w w
instance HasField "xyxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x y x x
instance HasField "xyxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x y x y
instance HasField "xyxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x y x z
instance HasField "xyxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x y x w
instance HasField "xyyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x y y x
instance HasField "xyyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 x y y y
instance HasField "xyyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x y y z
instance HasField "xyyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x y y w
instance HasField "xyzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x y z x
instance HasField "xyzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x y z y
instance HasField "xyzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x y z z
instance HasField "xyzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = v
instance HasField "xywx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x y w x
instance HasField "xywy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x y w y
instance HasField "xywz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 x y w z
instance HasField "xyww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x y w w
instance HasField "xzxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x z x x
instance HasField "xzxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x z x y
instance HasField "xzxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x z x z
instance HasField "xzxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x z x w
instance HasField "xzyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x z y x
instance HasField "xzyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x z y y
instance HasField "xzyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x z y z
instance HasField "xzyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 x z y w
instance HasField "xzzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x z z x
instance HasField "xzzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 x z z y
instance HasField "xzzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 x z z z
instance HasField "xzzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x z z w
instance HasField "xzwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x z w x
instance HasField "xzwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 x z w y
instance HasField "xzwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x z w z
instance HasField "xzww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x z w w
instance HasField "xwxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x w x x
instance HasField "xwxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x w x y
instance HasField "xwxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x w x z
instance HasField "xwxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x w x w
instance HasField "xwyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x w y x
instance HasField "xwyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x w y y
instance HasField "xwyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 x w y z
instance HasField "xwyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x w y w
instance HasField "xwzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x w z x
instance HasField "xwzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 x w z y
instance HasField "xwzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x w z z
instance HasField "xwzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x w z w
instance HasField "xwwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x w w x
instance HasField "xwwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 x w w y
instance HasField "xwwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 x w w z
instance HasField "xwww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 x w w w
instance HasField "yxxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y x x x
instance HasField "yxxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y x x y
instance HasField "yxxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y x x z
instance HasField "yxxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y x x w
instance HasField "yxyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y x y x
instance HasField "yxyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y x y y
instance HasField "yxyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y x y z
instance HasField "yxyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y x y w
instance HasField "yxzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y x z x
instance HasField "yxzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y x z y
instance HasField "yxzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y x z z
instance HasField "yxzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y x z w
instance HasField "yxwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y x w x
instance HasField "yxwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y x w y
instance HasField "yxwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y x w z
instance HasField "yxww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y x w w
instance HasField "yyxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y y x x
instance HasField "yyxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y y x y
instance HasField "yyxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y y x z
instance HasField "yyxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y y x w
instance HasField "yyyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ _ -> u64vec4 y y y x
instance HasField "yyyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ _ -> u64vec4 y y y y
instance HasField "yyyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y y y z
instance HasField "yyyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y y y w
instance HasField "yyzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y y z x
instance HasField "yyzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y y z y
instance HasField "yyzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y y z z
instance HasField "yyzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y y z w
instance HasField "yywx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y y w x
instance HasField "yywy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y y w y
instance HasField "yywz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y y w z
instance HasField "yyww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y y w w
instance HasField "yzxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y z x x
instance HasField "yzxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y z x y
instance HasField "yzxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y z x z
instance HasField "yzxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y z x w
instance HasField "yzyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y z y x
instance HasField "yzyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y z y y
instance HasField "yzyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y z y z
instance HasField "yzyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y z y w
instance HasField "yzzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 y z z x
instance HasField "yzzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y z z y
instance HasField "yzzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 y z z z
instance HasField "yzzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y z z w
instance HasField "yzwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y z w x
instance HasField "yzwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y z w y
instance HasField "yzwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y z w z
instance HasField "yzww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y z w w
instance HasField "ywxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y w x x
instance HasField "ywxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y w x y
instance HasField "ywxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y w x z
instance HasField "ywxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y w x w
instance HasField "ywyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y w y x
instance HasField "ywyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y w y y
instance HasField "ywyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y w y z
instance HasField "ywyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y w y w
instance HasField "ywzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 y w z x
instance HasField "ywzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y w z y
instance HasField "ywzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y w z z
instance HasField "ywzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y w z w
instance HasField "ywwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 y w w x
instance HasField "ywwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y w w y
instance HasField "ywwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 y w w z
instance HasField "ywww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 y w w w
instance HasField "zxxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z x x x
instance HasField "zxxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z x x y
instance HasField "zxxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z x x z
instance HasField "zxxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z x x w
instance HasField "zxyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z x y x
instance HasField "zxyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z x y y
instance HasField "zxyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z x y z
instance HasField "zxyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z x y w
instance HasField "zxzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z x z x
instance HasField "zxzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z x z y
instance HasField "zxzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z x z z
instance HasField "zxzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z x z w
instance HasField "zxwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z x w x
instance HasField "zxwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z x w y
instance HasField "zxwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z x w z
instance HasField "zxww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z x w w
instance HasField "zyxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z y x x
instance HasField "zyxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z y x y
instance HasField "zyxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z y x z
instance HasField "zyxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z y x w
instance HasField "zyyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z y y x
instance HasField "zyyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z y y y
instance HasField "zyyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z y y z
instance HasField "zyyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z y y w
instance HasField "zyzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z y z x
instance HasField "zyzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z y z y
instance HasField "zyzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z y z z
instance HasField "zyzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z y z w
instance HasField "zywx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z y w x
instance HasField "zywy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z y w y
instance HasField "zywz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z y w z
instance HasField "zyww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z y w w
instance HasField "zzxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z z x x
instance HasField "zzxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z z x y
instance HasField "zzxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z z x z
instance HasField "zzxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z z x w
instance HasField "zzyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z _ -> u64vec4 z z y x
instance HasField "zzyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z z y y
instance HasField "zzyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z z y z
instance HasField "zzyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z z y w
instance HasField "zzzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z _ -> u64vec4 z z z x
instance HasField "zzzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z _ -> u64vec4 z z z y
instance HasField "zzzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z _ -> u64vec4 z z z z
instance HasField "zzzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z z z w
instance HasField "zzwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z z w x
instance HasField "zzwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z z w y
instance HasField "zzwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z z w z
instance HasField "zzww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z z w w
instance HasField "zwxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z w x x
instance HasField "zwxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z w x y
instance HasField "zwxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z w x z
instance HasField "zwxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z w x w
instance HasField "zwyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 z w y x
instance HasField "zwyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z w y y
instance HasField "zwyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z w y z
instance HasField "zwyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z w y w
instance HasField "zwzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z w z x
instance HasField "zwzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z w z y
instance HasField "zwzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z w z z
instance HasField "zwzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z w z w
instance HasField "zwwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 z w w x
instance HasField "zwwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 z w w y
instance HasField "zwwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z w w z
instance HasField "zwww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 z w w w
instance HasField "wxxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w x x x
instance HasField "wxxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w x x y
instance HasField "wxxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w x x z
instance HasField "wxxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w x x w
instance HasField "wxyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w x y x
instance HasField "wxyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w x y y
instance HasField "wxyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w x y z
instance HasField "wxyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w x y w
instance HasField "wxzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w x z x
instance HasField "wxzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w x z y
instance HasField "wxzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w x z z
instance HasField "wxzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w x z w
instance HasField "wxwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w x w x
instance HasField "wxwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w x w y
instance HasField "wxwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w x w z
instance HasField "wxww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w x w w
instance HasField "wyxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w y x x
instance HasField "wyxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w y x y
instance HasField "wyxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w y x z
instance HasField "wyxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w y x w
instance HasField "wyyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w y y x
instance HasField "wyyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w y y y
instance HasField "wyyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w y y z
instance HasField "wyyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w y y w
instance HasField "wyzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w y z x
instance HasField "wyzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w y z y
instance HasField "wyzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w y z z
instance HasField "wyzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w y z w
instance HasField "wywx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w y w x
instance HasField "wywy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w y w y
instance HasField "wywz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w y w z
instance HasField "wyww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w y w w
instance HasField "wzxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w z x x
instance HasField "wzxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w z x y
instance HasField "wzxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w z x z
instance HasField "wzxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w z x w
instance HasField "wzyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y z w -> u64vec4 w z y x
instance HasField "wzyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w z y y
instance HasField "wzyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w z y z
instance HasField "wzyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w z y w
instance HasField "wzzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w z z x
instance HasField "wzzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w z z y
instance HasField "wzzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w z z z
instance HasField "wzzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w z z w
instance HasField "wzwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w z w x
instance HasField "wzwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w z w y
instance HasField "wzwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w z w z
instance HasField "wzww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w z w w
instance HasField "wwxx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w w x x
instance HasField "wwxy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w w x y
instance HasField "wwxz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w w x z
instance HasField "wwxw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w w x w
instance HasField "wwyx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x y _ w -> u64vec4 w w y x
instance HasField "wwyy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w w y y
instance HasField "wwyz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w w y z
instance HasField "wwyw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w w y w
instance HasField "wwzx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ z w -> u64vec4 w w z x
instance HasField "wwzy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y z w -> u64vec4 w w z y
instance HasField "wwzz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w w z z
instance HasField "wwzw" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w w z w
instance HasField "wwwx" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \x _ _ w -> u64vec4 w w w x
instance HasField "wwwy" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ y _ w -> u64vec4 w w w y
instance HasField "wwwz" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ z w -> u64vec4 w w w z
instance HasField "wwww" U64Vec4 U64Vec4 where
{-# INLINE getField #-}
getField v = withU64Vec4 v \_ _ _ w -> u64vec4 w w w w