geomancy-0.4.0.0: src/Geomancy/Swizzle/I64Vec/Down.hs
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Geomancy.Swizzle.I64Vec.Down () where
import GHC.Records (HasField(..))
import Geomancy.I64Vec2 (I64Vec2, i64vec2)
import Geomancy.I64Vec3 (I64Vec3, i64vec3, withI64Vec3)
import Geomancy.I64Vec4 (I64Vec4, withI64Vec4)
instance HasField "xx" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ _ -> i64vec2 x x
instance HasField "xy" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec2 x y
instance HasField "xz" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec2 x z
instance HasField "yx" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x y _ -> i64vec2 y x
instance HasField "yy" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y _ -> i64vec2 y y
instance HasField "yz" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec2 y z
instance HasField "zx" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \x _ z -> i64vec2 z x
instance HasField "zy" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ y z -> i64vec2 z y
instance HasField "zz" I64Vec3 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec3 v \_ _ z -> i64vec2 z z
instance HasField "xx" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ _ -> i64vec2 x x
instance HasField "xy" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec2 x y
instance HasField "xz" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec2 x z
instance HasField "xw" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec2 x w
instance HasField "yx" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec2 y x
instance HasField "yy" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ _ -> i64vec2 y y
instance HasField "yz" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec2 y z
instance HasField "yw" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec2 y w
instance HasField "zx" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec2 z x
instance HasField "zy" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec2 z y
instance HasField "zz" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z _ -> i64vec2 z z
instance HasField "zw" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec2 z w
instance HasField "wx" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec2 w x
instance HasField "wy" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec2 w y
instance HasField "wz" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec2 w z
instance HasField "ww" I64Vec4 I64Vec2 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ _ w -> i64vec2 w w
instance HasField "xxx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ _ -> i64vec3 x x x
instance HasField "xxy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 x x y
instance HasField "xxz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 x x z
instance HasField "xxw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 x x w
instance HasField "xyx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 x y x
instance HasField "xyy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 x y y
instance HasField "xyz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 x y z
instance HasField "xyw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 x y w
instance HasField "xzx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 x z x
instance HasField "xzy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 x z y
instance HasField "xzz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 x z z
instance HasField "xzw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 x z w
instance HasField "xwx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 x w x
instance HasField "xwy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 x w y
instance HasField "xwz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 x w z
instance HasField "xww" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 x w w
instance HasField "yxx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 y x x
instance HasField "yxy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 y x y
instance HasField "yxz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 y x z
instance HasField "yxw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 y x w
instance HasField "yyx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ _ -> i64vec3 y y x
instance HasField "yyy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ _ -> i64vec3 y y y
instance HasField "yyz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 y y z
instance HasField "yyw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 y y w
instance HasField "yzx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 y z x
instance HasField "yzy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 y z y
instance HasField "yzz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 y z z
instance HasField "yzw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 y z w
instance HasField "ywx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 y w x
instance HasField "ywy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 y w y
instance HasField "ywz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 y w z
instance HasField "yww" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 y w w
instance HasField "zxx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 z x x
instance HasField "zxy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 z x y
instance HasField "zxz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 z x z
instance HasField "zxw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 z x w
instance HasField "zyx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y z _ -> i64vec3 z y x
instance HasField "zyy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 z y y
instance HasField "zyz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 z y z
instance HasField "zyw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 z y w
instance HasField "zzx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z _ -> i64vec3 z z x
instance HasField "zzy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z _ -> i64vec3 z z y
instance HasField "zzz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z _ -> i64vec3 z z z
instance HasField "zzw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 z z w
instance HasField "zwx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 z w x
instance HasField "zwy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 z w y
instance HasField "zwz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 z w z
instance HasField "zww" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 z w w
instance HasField "wxx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 w x x
instance HasField "wxy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 w x y
instance HasField "wxz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 w x z
instance HasField "wxw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 w x w
instance HasField "wyx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x y _ w -> i64vec3 w y x
instance HasField "wyy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 w y y
instance HasField "wyz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 w y z
instance HasField "wyw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 w y w
instance HasField "wzx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ z w -> i64vec3 w z x
instance HasField "wzy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y z w -> i64vec3 w z y
instance HasField "wzz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 w z z
instance HasField "wzw" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 w z w
instance HasField "wwx" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \x _ _ w -> i64vec3 w w x
instance HasField "wwy" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ y _ w -> i64vec3 w w y
instance HasField "wwz" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ z w -> i64vec3 w w z
instance HasField "www" I64Vec4 I64Vec3 where
{-# INLINE getField #-}
getField v = withI64Vec4 v \_ _ _ w -> i64vec3 w w w