packages feed

geomancy-0.4.0.0: src/Geomancy/Swizzle/U64Vec/Up.hs

{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Geomancy.Swizzle.U64Vec.Up () where

import GHC.Records (HasField(..))

import Geomancy.U64Vec2 (U64Vec2, withU64Vec2)
import Geomancy.U64Vec3 (U64Vec3, u64vec3, withU64Vec3)
import Geomancy.U64Vec4 (U64Vec4, u64vec4)

instance HasField "xxx" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x _ -> u64vec3 x x x

instance HasField "xxy" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 x x y

instance HasField "xyx" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 x y x

instance HasField "xyy" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 x y y

instance HasField "yxx" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 y x x

instance HasField "yxy" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 y x y

instance HasField "yyx" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec3 y y x

instance HasField "yyy" U64Vec2 U64Vec3 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \_ y -> u64vec3 y y y

instance HasField "xxxx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x _ -> u64vec4 x x x x

instance HasField "xxxy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x x x y

instance HasField "xxyx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x x y x

instance HasField "xxyy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x x y y

instance HasField "xyxx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x y x x

instance HasField "xyxy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x y x y

instance HasField "xyyx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x y y x

instance HasField "xyyy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 x y y y

instance HasField "yxxx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y x x x

instance HasField "yxxy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y x x y

instance HasField "yxyx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y x y x

instance HasField "yxyy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y x y y

instance HasField "yyxx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y y x x

instance HasField "yyxy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y y x y

instance HasField "yyyx" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \x y -> u64vec4 y y y x

instance HasField "yyyy" U64Vec2 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec2 v \_ y -> u64vec4 y y y y

instance HasField "xxxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ _ -> u64vec4 x x x x

instance HasField "xxxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x x x y

instance HasField "xxxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x x x z

instance HasField "xxyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x x y x

instance HasField "xxyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x x y y

instance HasField "xxyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x x y z

instance HasField "xxzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x x z x

instance HasField "xxzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x x z y

instance HasField "xxzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x x z z

instance HasField "xyxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x y x x

instance HasField "xyxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x y x y

instance HasField "xyxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x y x z

instance HasField "xyyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x y y x

instance HasField "xyyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 x y y y

instance HasField "xyyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x y y z

instance HasField "xyzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x y z x

instance HasField "xyzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x y z y

instance HasField "xyzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x y z z

instance HasField "xzxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x z x x

instance HasField "xzxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x z x y

instance HasField "xzxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x z x z

instance HasField "xzyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x z y x

instance HasField "xzyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x z y y

instance HasField "xzyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x z y z

instance HasField "xzzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x z z x

instance HasField "xzzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 x z z y

instance HasField "xzzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 x z z z

instance HasField "yxxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y x x x

instance HasField "yxxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y x x y

instance HasField "yxxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y x x z

instance HasField "yxyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y x y x

instance HasField "yxyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y x y y

instance HasField "yxyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y x y z

instance HasField "yxzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y x z x

instance HasField "yxzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y x z y

instance HasField "yxzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y x z z

instance HasField "yyxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y y x x

instance HasField "yyxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y y x y

instance HasField "yyxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y y x z

instance HasField "yyyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y _ -> u64vec4 y y y x

instance HasField "yyyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y _ -> u64vec4 y y y y

instance HasField "yyyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y y y z

instance HasField "yyzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y y z x

instance HasField "yyzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y y z y

instance HasField "yyzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y y z z

instance HasField "yzxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y z x x

instance HasField "yzxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y z x y

instance HasField "yzxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y z x z

instance HasField "yzyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y z y x

instance HasField "yzyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y z y y

instance HasField "yzyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y z y z

instance HasField "yzzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 y z z x

instance HasField "yzzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y z z y

instance HasField "yzzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 y z z z

instance HasField "zxxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z x x x

instance HasField "zxxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z x x y

instance HasField "zxxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z x x z

instance HasField "zxyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z x y x

instance HasField "zxyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z x y y

instance HasField "zxyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z x y z

instance HasField "zxzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z x z x

instance HasField "zxzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z x z y

instance HasField "zxzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z x z z

instance HasField "zyxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z y x x

instance HasField "zyxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z y x y

instance HasField "zyxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z y x z

instance HasField "zyyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z y y x

instance HasField "zyyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z y y y

instance HasField "zyyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z y y z

instance HasField "zyzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z y z x

instance HasField "zyzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z y z y

instance HasField "zyzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z y z z

instance HasField "zzxx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z z x x

instance HasField "zzxy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z z x y

instance HasField "zzxz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z z x z

instance HasField "zzyx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x y z -> u64vec4 z z y x

instance HasField "zzyy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z z y y

instance HasField "zzyz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z z y z

instance HasField "zzzx" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \x _ z -> u64vec4 z z z x

instance HasField "zzzy" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ y z -> u64vec4 z z z y

instance HasField "zzzz" U64Vec3 U64Vec4 where
  {-# INLINE getField #-}
  getField v = withU64Vec3 v \_ _ z -> u64vec4 z z z z