geomancy-0.4.0.0: src/Geomancy/Swizzle/I64Vec/Up.hs
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Geomancy.Swizzle.I64Vec.Up () where
import GHC.Records (HasField(..))
import Geomancy.I64Vec2 (I64Vec2, withI64Vec2)
import Geomancy.I64Vec3 (I64Vec3, i64vec3, withI64Vec3)
import Geomancy.I64Vec4 (I64Vec4, i64vec4)
instance HasField "xxx" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x _ -> i64vec3 x x x
instance HasField "xxy" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 x x y
instance HasField "xyx" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 x y x
instance HasField "xyy" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 x y y
instance HasField "yxx" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 y x x
instance HasField "yxy" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 y x y
instance HasField "yyx" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec3 y y x
instance HasField "yyy" I64Vec2 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \_ y -> i64vec3 y y y
instance HasField "xxxx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x _ -> i64vec4 x x x x
instance HasField "xxxy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x x x y
instance HasField "xxyx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x x y x
instance HasField "xxyy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x x y y
instance HasField "xyxx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x y x x
instance HasField "xyxy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x y x y
instance HasField "xyyx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x y y x
instance HasField "xyyy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 x y y y
instance HasField "yxxx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y x x x
instance HasField "yxxy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y x x y
instance HasField "yxyx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y x y x
instance HasField "yxyy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y x y y
instance HasField "yyxx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y y x x
instance HasField "yyxy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y y x y
instance HasField "yyyx" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \x y -> i64vec4 y y y x
instance HasField "yyyy" I64Vec2 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec2 v \_ y -> i64vec4 y y y y
instance HasField "xxxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ _ -> i64vec4 x x x x
instance HasField "xxxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x x x y
instance HasField "xxxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x x x z
instance HasField "xxyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x x y x
instance HasField "xxyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x x y y
instance HasField "xxyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x x y z
instance HasField "xxzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x x z x
instance HasField "xxzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x x z y
instance HasField "xxzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x x z z
instance HasField "xyxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x y x x
instance HasField "xyxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x y x y
instance HasField "xyxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x y x z
instance HasField "xyyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x y y x
instance HasField "xyyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 x y y y
instance HasField "xyyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x y y z
instance HasField "xyzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x y z x
instance HasField "xyzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x y z y
instance HasField "xyzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x y z z
instance HasField "xzxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x z x x
instance HasField "xzxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x z x y
instance HasField "xzxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x z x z
instance HasField "xzyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x z y x
instance HasField "xzyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x z y y
instance HasField "xzyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x z y z
instance HasField "xzzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x z z x
instance HasField "xzzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 x z z y
instance HasField "xzzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 x z z z
instance HasField "yxxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y x x x
instance HasField "yxxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y x x y
instance HasField "yxxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y x x z
instance HasField "yxyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y x y x
instance HasField "yxyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y x y y
instance HasField "yxyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y x y z
instance HasField "yxzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y x z x
instance HasField "yxzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y x z y
instance HasField "yxzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y x z z
instance HasField "yyxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y y x x
instance HasField "yyxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y y x y
instance HasField "yyxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y y x z
instance HasField "yyyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec4 y y y x
instance HasField "yyyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y _ -> i64vec4 y y y y
instance HasField "yyyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y y y z
instance HasField "yyzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y y z x
instance HasField "yyzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y y z y
instance HasField "yyzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y y z z
instance HasField "yzxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y z x x
instance HasField "yzxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y z x y
instance HasField "yzxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y z x z
instance HasField "yzyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y z y x
instance HasField "yzyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y z y y
instance HasField "yzyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y z y z
instance HasField "yzzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 y z z x
instance HasField "yzzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y z z y
instance HasField "yzzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 y z z z
instance HasField "zxxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z x x x
instance HasField "zxxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z x x y
instance HasField "zxxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z x x z
instance HasField "zxyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z x y x
instance HasField "zxyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z x y y
instance HasField "zxyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z x y z
instance HasField "zxzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z x z x
instance HasField "zxzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z x z y
instance HasField "zxzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z x z z
instance HasField "zyxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z y x x
instance HasField "zyxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z y x y
instance HasField "zyxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z y x z
instance HasField "zyyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z y y x
instance HasField "zyyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z y y y
instance HasField "zyyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z y y z
instance HasField "zyzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z y z x
instance HasField "zyzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z y z y
instance HasField "zyzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z y z z
instance HasField "zzxx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z z x x
instance HasField "zzxy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z z x y
instance HasField "zzxz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z z x z
instance HasField "zzyx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y z -> i64vec4 z z y x
instance HasField "zzyy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z z y y
instance HasField "zzyz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z z y z
instance HasField "zzzx" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec4 z z z x
instance HasField "zzzy" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec4 z z z y
instance HasField "zzzz" I64Vec3 I64Vec4 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ _ z -> i64vec4 z z z z