sdl2
Safe HaskellSafe-Inferred
LanguageHaskell2010

SDL.Vect

Contents

Description

SDL's vector representation.

By default, re-exports the Linear and Linear.Affine modules from the linear package. With the no-linear Cabal flag, instead exports a duplicate implementation of the V2, V3, V4 and Point types from SDL.Internal.Vect, which provides as many instances as possible for those types while avoiding any additional dependencies.

Synopsis
  • (#.) :: Coercible c b => (b -> c) -> (a -> b) -> a -> c
  • (.#) :: Coercible b a => (b -> c) -> (a -> b) -> a -> c
  • _Point :: forall f1 a g b p f2. (Profunctor p, Functor f2) => p (f1 a) (f2 (g b)) -> p (Point f1 a) (f2 (Point g b))
  • distanceA :: (Floating a, Foldable (Diff p), Affine p) => p a -> p a -> a
  • lensP :: forall f1 a g b f2. Functor f2 => (f1 a -> f2 (g b)) -> Point f1 a -> f2 (Point g b)
  • origin :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a
  • qdA :: (Affine p, Foldable (Diff p), Num a) => p a -> p a -> a
  • relative :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a)
  • unP :: Point f a -> f a
  • comultRep :: (Representable f, Coalgebra r (Rep f)) => f r -> f (f r)
  • counitalRep :: (Representable f, Coalgebra r (Rep f)) => f r -> r
  • multRep :: (Representable f, Algebra r (Rep f)) => f (f r) -> f r
  • unitalRep :: (Representable f, Algebra r (Rep f)) => r -> f r
  • getLinear :: (Binary a, Applicative t, Traversable t) => Get (t a)
  • putLinear :: (Binary a, Foldable t) => t a -> Put
  • ($*) :: Representable f => Covector r (Rep f) -> f r -> r
  • (!!*) :: (Functor m, Functor r, Num a) => m (r a) -> a -> m (r a)
  • (!!/) :: (Functor m, Functor r, Fractional a) => m (r a) -> a -> m (r a)
  • (!*) :: (Functor m, Foldable r, Additive r, Num a) => m (r a) -> r a -> m a
  • (!*!) :: (Functor m, Foldable t, Additive t, Additive n, Num a) => m (t a) -> t (n a) -> m (n a)
  • (!+!) :: (Additive m, Additive n, Num a) => m (n a) -> m (n a) -> m (n a)
  • (!-!) :: (Additive m, Additive n, Num a) => m (n a) -> m (n a) -> m (n a)
  • (*!) :: (Num a, Foldable t, Additive f, Additive t) => t a -> t (f a) -> f a
  • (*!!) :: (Functor m, Functor r, Num a) => a -> m (r a) -> m (r a)
  • _m22 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R2 v) => Lens' (t (v a)) (M22 a)
  • _m23 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R3 v) => Lens' (t (v a)) (M23 a)
  • _m24 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R4 v) => Lens' (t (v a)) (M24 a)
  • _m32 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R2 v) => Lens' (t (v a)) (M32 a)
  • _m33 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R3 v) => Lens' (t (v a)) (M33 a)
  • _m34 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R4 v) => Lens' (t (v a)) (M34 a)
  • _m42 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R2 v) => Lens' (t (v a)) (M42 a)
  • _m43 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R3 v) => Lens' (t (v a)) (M43 a)
  • _m44 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R4 v) => Lens' (t (v a)) (M44 a)
  • adjoint :: (Functor m, Distributive n, Conjugate a) => m (n a) -> n (m a)
  • backwardSub :: (Num a, Fractional a, Foldable m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Ord i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a))) => m (m a) -> m a -> m a
  • backwardSubFinite :: forall a m (n :: Nat). (Num a, Fractional a, Foldable m, n ~ Size m, KnownNat n, Additive m, Finite m) => m (m a) -> m a -> m a
  • column :: forall (f :: Type -> Type) a b s t. Representable f => LensLike (Context a b) s t a b -> Lens (f s) (f t) (f a) (f b)
  • det22 :: Num a => M22 a -> a
  • det33 :: Num a => M33 a -> a
  • det44 :: Num a => M44 a -> a
  • forwardSub :: (Num a, Fractional a, Foldable m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Ord i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a))) => m (m a) -> m a -> m a
  • forwardSubFinite :: forall a m (n :: Nat). (Num a, Fractional a, Foldable m, n ~ Size m, KnownNat n, Additive m, Finite m) => m (m a) -> m a -> m a
  • fromQuaternion :: Num a => Quaternion a -> M33 a
  • identity :: (Num a, Traversable t, Applicative t) => t (t a)
  • inv22 :: Fractional a => M22 a -> M22 a
  • inv33 :: Fractional a => M33 a -> M33 a
  • inv44 :: Fractional a => M44 a -> M44 a
  • lu :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> (m (m a), m (m a))
  • luDet :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Trace m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> a
  • luDetFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> a
  • luFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> (m (m a), m (m a))
  • luInv :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Distributive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> m (m a)
  • luInvFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> m (m a)
  • luSolve :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> m a -> m a
  • luSolveFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> m a -> m a
  • m33_to_m44 :: Num a => M33 a -> M44 a
  • m43_to_m44 :: Num a => M43 a -> M44 a
  • mkTransformation :: Num a => Quaternion a -> V3 a -> M44 a
  • mkTransformationMat :: Num a => M33 a -> V3 a -> M44 a
  • translation :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R4 v) => Lens' (t (v a)) (V3 a)
  • transpose :: (Distributive g, Functor f) => f (g a) -> g (f a)
  • normalize :: (Floating a, Metric f, Epsilon a) => f a -> f a
  • project :: (Metric v, Fractional a) => v a -> v a -> v a
  • frustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a
  • infinitePerspective :: Floating a => a -> a -> a -> M44 a
  • inverseFrustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a
  • inverseInfinitePerspective :: Floating a => a -> a -> a -> M44 a
  • inverseOrtho :: Fractional a => a -> a -> a -> a -> a -> a -> M44 a
  • inversePerspective :: Floating a => a -> a -> a -> a -> M44 a
  • lookAt :: (Epsilon a, Floating a) => V3 a -> V3 a -> V3 a -> M44 a
  • ortho :: Fractional a => a -> a -> a -> a -> a -> a -> M44 a
  • perspective :: Floating a => a -> a -> a -> a -> M44 a
  • absi :: Floating a => Quaternion a -> a
  • acoshq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • acosq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • asinhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • asinq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • atanhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • atanq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a
  • axisAngle :: (Epsilon a, Floating a) => V3 a -> a -> Quaternion a
  • ee :: forall (t :: Type -> Type). Complicated t => E t
  • ei :: forall (t :: Type -> Type). Complicated t => E t
  • ej :: forall (t :: Type -> Type). Hamiltonian t => E t
  • ek :: forall (t :: Type -> Type). Hamiltonian t => E t
  • pow :: RealFloat a => Quaternion a -> a -> Quaternion a
  • rotate :: (Conjugate a, RealFloat a) => Quaternion a -> V3 a -> V3 a
  • slerp :: RealFloat a => Quaternion a -> Quaternion a -> a -> Quaternion a
  • frobenius :: (Num a, Foldable f, Additive f, Additive g, Distributive g, Trace g) => f (g a) -> a
  • ex :: forall (t :: Type -> Type). R1 t => E t
  • _yx :: forall (t :: Type -> Type) a. R2 t => Lens' (t a) (V2 a)
  • angle :: Floating a => a -> V2 a
  • crossZ :: Num a => V2 a -> V2 a -> a
  • ey :: forall (t :: Type -> Type). R2 t => E t
  • perp :: Num a => V2 a -> V2 a
  • unangle :: (Floating a, Ord a) => V2 a -> a
  • _xz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a)
  • _xzy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a)
  • _yxz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a)
  • _yz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a)
  • _yzx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a)
  • _zx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a)
  • _zxy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a)
  • _zy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a)
  • _zyx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a)
  • cross :: Num a => V3 a -> V3 a -> V3 a
  • ez :: forall (t :: Type -> Type). R3 t => E t
  • triple :: Num a => V3 a -> V3 a -> V3 a -> a
  • _wx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _wxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wxyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _wxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wxzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _wy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _wyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wyxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _wyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wyzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _wz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _wzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wzxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _wzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _wzyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _xw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _xwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _xwyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _xwz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _xwzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _xyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _xywz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _xzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _xzwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _xzyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _yw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _ywx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _ywxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _ywz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _ywzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _yxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _yxwz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _yxzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _yzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _yzwx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _yzxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a)
  • _zwx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _zwxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _zwyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _zxwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zxyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a)
  • _zywx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • _zyxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a)
  • ew :: forall (t :: Type -> Type). R4 t => E t
  • normalizePoint :: Fractional a => V4 a -> V3 a
  • point :: Num a => V3 a -> V4 a
  • vector :: Num a => V3 a -> V4 a
  • (*^) :: (Functor f, Num a) => a -> f a -> f a
  • (^*) :: (Functor f, Num a) => f a -> a -> f a
  • (^/) :: (Functor f, Fractional a) => f a -> a -> f a
  • basis :: (Additive t, Traversable t, Num a) => [t a]
  • basisFor :: (Traversable t, Num a) => t b -> [t a]
  • negated :: (Functor f, Num a) => f a -> f a
  • outer :: (Functor f, Functor g, Num a) => f a -> g a -> f (g a)
  • scaled :: (Traversable t, Num a) => t a -> t (t a)
  • sumV :: (Foldable f, Additive v, Num a) => f (v a) -> v a
  • unit :: (Additive t, Num a) => ASetter' (t a) a -> t a
  • class Additive (Diff p) => Affine (p :: Type -> Type) where
    • type Diff (p :: Type -> Type) :: Type -> Type
    • (.-.) :: Num a => p a -> p a -> Diff p a
    • (.+^) :: Num a => p a -> Diff p a -> p a
    • (.-^) :: Num a => p a -> Diff p a -> p a
  • type family Diff (p :: Type -> Type) :: Type -> Type
  • newtype Point (f :: Type -> Type) a = P (f a)
  • class Num r => Algebra r m where
    • mult :: (m -> m -> r) -> m -> r
    • unital :: r -> m -> r
  • class Num r => Coalgebra r m where
  • class Num a => Conjugate a where
  • class Conjugate a => TrivialConjugate a
  • newtype Covector r a = Covector {}
  • class Num a => Epsilon a where
  • type M22 a = V2 (V2 a)
  • type M23 a = V2 (V3 a)
  • type M24 a = V2 (V4 a)
  • type M32 a = V3 (V2 a)
  • type M33 a = V3 (V3 a)
  • type M34 a = V3 (V4 a)
  • type M42 a = V4 (V2 a)
  • type M43 a = V4 (V3 a)
  • type M44 a = V4 (V4 a)
  • class Additive f => Metric (f :: Type -> Type) where
    • dot :: Num a => f a -> f a -> a
    • quadrance :: Num a => f a -> a
    • qd :: Num a => f a -> f a -> a
    • distance :: Floating a => f a -> f a -> a
    • norm :: Floating a => f a -> a
    • signorm :: Floating a => f a -> f a
  • class Complicated (t :: Type -> Type) where
    • _e :: Lens' (t a) a
    • _i :: Lens' (t a) a
  • class Complicated t => Hamiltonian (t :: Type -> Type) where
    • _j :: Lens' (t a) a
    • _k :: Lens' (t a) a
    • _ijk :: Lens' (t a) (V3 a)
  • data Quaternion a = Quaternion !a !(V3 a)
  • class Functor m => Trace (m :: Type -> Type) where
  • data V0 a = V0
  • class R1 (t :: Type -> Type) where
    • _x :: Lens' (t a) a
  • newtype V1 a = V1 a
  • class R1 t => R2 (t :: Type -> Type) where
    • _y :: Lens' (t a) a
    • _xy :: Lens' (t a) (V2 a)
  • data V2 a = V2 !a !a
  • class R2 t => R3 (t :: Type -> Type) where
    • _z :: Lens' (t a) a
    • _xyz :: Lens' (t a) (V3 a)
  • data V3 a = V3 !a !a !a
  • class R3 t => R4 (t :: Type -> Type) where
    • _w :: Lens' (t a) a
    • _xyzw :: Lens' (t a) (V4 a)
  • data V4 a = V4 !a !a !a !a
  • class Functor f => Additive (f :: Type -> Type) where
    • zero :: Num a => f a
    • (^+^) :: Num a => f a -> f a -> f a
    • (^-^) :: Num a => f a -> f a -> f a
    • lerp :: Num a => a -> f a -> f a -> f a
    • liftU2 :: (a -> a -> a) -> f a -> f a -> f a
    • liftI2 :: (a -> b -> c) -> f a -> f b -> f c
  • newtype E (t :: Type -> Type) = E {
    • el :: forall x. Lens' (t x) x
    }
  • data family MVector s a
  • data family Vector a
  • newtype Point (f :: Type -> Type) a = P (f a)
  • data V2 a = V2 !a !a
  • data V3 a = V3 !a !a !a
  • data V4 a = V4 !a !a !a !a

Documentation

(#.) :: Coercible c b => (b -> c) -> (a -> b) -> a -> c #

(.#) :: Coercible b a => (b -> c) -> (a -> b) -> a -> c #

_Point :: forall f1 a g b p f2. (Profunctor p, Functor f2) => p (f1 a) (f2 (g b)) -> p (Point f1 a) (f2 (Point g b)) #

distanceA :: (Floating a, Foldable (Diff p), Affine p) => p a -> p a -> a #

lensP :: forall f1 a g b f2. Functor f2 => (f1 a -> f2 (g b)) -> Point f1 a -> f2 (Point g b) #

origin :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a #

qdA :: (Affine p, Foldable (Diff p), Num a) => p a -> p a -> a #

relative :: forall (f :: Type -> Type) a. (Additive f, Num a) => Point f a -> Iso' (Point f a) (f a) #

unP :: Point f a -> f a #

comultRep :: (Representable f, Coalgebra r (Rep f)) => f r -> f (f r) #

counitalRep :: (Representable f, Coalgebra r (Rep f)) => f r -> r #

multRep :: (Representable f, Algebra r (Rep f)) => f (f r) -> f r #

unitalRep :: (Representable f, Algebra r (Rep f)) => r -> f r #

getLinear :: (Binary a, Applicative t, Traversable t) => Get (t a) #

putLinear :: (Binary a, Foldable t) => t a -> Put #

($*) :: Representable f => Covector r (Rep f) -> f r -> r #

(!!*) :: (Functor m, Functor r, Num a) => m (r a) -> a -> m (r a) #

(!!/) :: (Functor m, Functor r, Fractional a) => m (r a) -> a -> m (r a) #

(!*) :: (Functor m, Foldable r, Additive r, Num a) => m (r a) -> r a -> m a #

(!*!) :: (Functor m, Foldable t, Additive t, Additive n, Num a) => m (t a) -> t (n a) -> m (n a) #

(!+!) :: (Additive m, Additive n, Num a) => m (n a) -> m (n a) -> m (n a) #

(!-!) :: (Additive m, Additive n, Num a) => m (n a) -> m (n a) -> m (n a) #

(*!) :: (Num a, Foldable t, Additive f, Additive t) => t a -> t (f a) -> f a #

(*!!) :: (Functor m, Functor r, Num a) => a -> m (r a) -> m (r a) #

_m22 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R2 v) => Lens' (t (v a)) (M22 a) #

_m23 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R3 v) => Lens' (t (v a)) (M23 a) #

_m24 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R2 t, R4 v) => Lens' (t (v a)) (M24 a) #

_m32 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R2 v) => Lens' (t (v a)) (M32 a) #

_m33 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R3 v) => Lens' (t (v a)) (M33 a) #

_m34 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R4 v) => Lens' (t (v a)) (M34 a) #

_m42 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R2 v) => Lens' (t (v a)) (M42 a) #

_m43 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R3 v) => Lens' (t (v a)) (M43 a) #

_m44 :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R4 t, R4 v) => Lens' (t (v a)) (M44 a) #

adjoint :: (Functor m, Distributive n, Conjugate a) => m (n a) -> n (m a) #

backwardSub :: (Num a, Fractional a, Foldable m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Ord i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a))) => m (m a) -> m a -> m a #

backwardSubFinite :: forall a m (n :: Nat). (Num a, Fractional a, Foldable m, n ~ Size m, KnownNat n, Additive m, Finite m) => m (m a) -> m a -> m a #

column :: forall (f :: Type -> Type) a b s t. Representable f => LensLike (Context a b) s t a b -> Lens (f s) (f t) (f a) (f b) #

det22 :: Num a => M22 a -> a #

det33 :: Num a => M33 a -> a #

det44 :: Num a => M44 a -> a #

forwardSub :: (Num a, Fractional a, Foldable m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Ord i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a))) => m (m a) -> m a -> m a #

forwardSubFinite :: forall a m (n :: Nat). (Num a, Fractional a, Foldable m, n ~ Size m, KnownNat n, Additive m, Finite m) => m (m a) -> m a -> m a #

fromQuaternion :: Num a => Quaternion a -> M33 a #

identity :: (Num a, Traversable t, Applicative t) => t (t a) #

inv22 :: Fractional a => M22 a -> M22 a #

inv33 :: Fractional a => M33 a -> M33 a #

inv44 :: Fractional a => M44 a -> M44 a #

lu :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> (m (m a), m (m a)) #

luDet :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Trace m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> a #

luDetFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> a #

luFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> (m (m a), m (m a)) #

luInv :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Distributive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> m (m a) #

luInvFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> m (m a) #

luSolve :: (Num a, Fractional a, Foldable m, Traversable m, Applicative m, Additive m, Ixed (m a), Ixed (m (m a)), i ~ Index (m a), i ~ Index (m (m a)), Eq i, Integral i, a ~ IxValue (m a), m a ~ IxValue (m (m a)), Num (m a)) => m (m a) -> m a -> m a #

luSolveFinite :: forall a m (n :: Nat). (Num a, Fractional a, Functor m, Finite m, n ~ Size m, KnownNat n, Num (m a)) => m (m a) -> m a -> m a #

m33_to_m44 :: Num a => M33 a -> M44 a #

m43_to_m44 :: Num a => M43 a -> M44 a #

mkTransformation :: Num a => Quaternion a -> V3 a -> M44 a #

mkTransformationMat :: Num a => M33 a -> V3 a -> M44 a #

translation :: forall (t :: Type -> Type) (v :: Type -> Type) a. (Representable t, R3 t, R4 v) => Lens' (t (v a)) (V3 a) #

transpose :: (Distributive g, Functor f) => f (g a) -> g (f a) #

normalize :: (Floating a, Metric f, Epsilon a) => f a -> f a #

project :: (Metric v, Fractional a) => v a -> v a -> v a #

frustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a #

infinitePerspective :: Floating a => a -> a -> a -> M44 a #

inverseFrustum :: Floating a => a -> a -> a -> a -> a -> a -> M44 a #

inverseInfinitePerspective :: Floating a => a -> a -> a -> M44 a #

inverseOrtho :: Fractional a => a -> a -> a -> a -> a -> a -> M44 a #

inversePerspective :: Floating a => a -> a -> a -> a -> M44 a #

lookAt :: (Epsilon a, Floating a) => V3 a -> V3 a -> V3 a -> M44 a #

ortho :: Fractional a => a -> a -> a -> a -> a -> a -> M44 a #

perspective :: Floating a => a -> a -> a -> a -> M44 a #

absi :: Floating a => Quaternion a -> a #

acoshq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

acosq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

asinhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

asinq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

atanhq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

atanq :: RealFloat a => Quaternion a -> Quaternion a -> Quaternion a #

axisAngle :: (Epsilon a, Floating a) => V3 a -> a -> Quaternion a #

ee :: forall (t :: Type -> Type). Complicated t => E t #

ei :: forall (t :: Type -> Type). Complicated t => E t #

ej :: forall (t :: Type -> Type). Hamiltonian t => E t #

ek :: forall (t :: Type -> Type). Hamiltonian t => E t #

pow :: RealFloat a => Quaternion a -> a -> Quaternion a #

rotate :: (Conjugate a, RealFloat a) => Quaternion a -> V3 a -> V3 a #

slerp :: RealFloat a => Quaternion a -> Quaternion a -> a -> Quaternion a #

frobenius :: (Num a, Foldable f, Additive f, Additive g, Distributive g, Trace g) => f (g a) -> a #

ex :: forall (t :: Type -> Type). R1 t => E t #

_yx :: forall (t :: Type -> Type) a. R2 t => Lens' (t a) (V2 a) #

angle :: Floating a => a -> V2 a #

crossZ :: Num a => V2 a -> V2 a -> a #

ey :: forall (t :: Type -> Type). R2 t => E t #

perp :: Num a => V2 a -> V2 a #

unangle :: (Floating a, Ord a) => V2 a -> a #

_xz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a) #

_xzy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a) #

_yxz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a) #

_yz :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a) #

_yzx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a) #

_zx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a) #

_zxy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a) #

_zy :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V2 a) #

_zyx :: forall (t :: Type -> Type) a. R3 t => Lens' (t a) (V3 a) #

cross :: Num a => V3 a -> V3 a -> V3 a #

ez :: forall (t :: Type -> Type). R3 t => E t #

triple :: Num a => V3 a -> V3 a -> V3 a -> a #

_wx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_wxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wxyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_wxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wxzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_wy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_wyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wyxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_wyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wyzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_wz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_wzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wzxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_wzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_wzyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_xw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_xwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_xwyz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_xwz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_xwzy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_xyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_xywz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_xzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_xzwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_xzyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_yw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_ywx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_ywxz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_ywz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_ywzx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_yxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_yxwz :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_yxzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_yzw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_yzwx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_yzxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V2 a) #

_zwx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_zwxy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_zwyx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_zxwy :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zxyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zyw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V3 a) #

_zywx :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

_zyxw :: forall (t :: Type -> Type) a. R4 t => Lens' (t a) (V4 a) #

ew :: forall (t :: Type -> Type). R4 t => E t #

normalizePoint :: Fractional a => V4 a -> V3 a #

point :: Num a => V3 a -> V4 a #

vector :: Num a => V3 a -> V4 a #

(*^) :: (Functor f, Num a) => a -> f a -> f a #

(^*) :: (Functor f, Num a) => f a -> a -> f a #

(^/) :: (Functor f, Fractional a) => f a -> a -> f a #

basis :: (Additive t, Traversable t, Num a) => [t a] #

basisFor :: (Traversable t, Num a) => t b -> [t a] #

negated :: (Functor f, Num a) => f a -> f a #

outer :: (Functor f, Functor g, Num a) => f a -> g a -> f (g a) #

scaled :: (Traversable t, Num a) => t a -> t (t a) #

sumV :: (Foldable f, Additive v, Num a) => f (v a) -> v a #

unit :: (Additive t, Num a) => ASetter' (t a) a -> t a #

class Additive (Diff p) => Affine (p :: Type -> Type) where #

Minimal complete definition

(.-.), (.+^)

Associated Types

type Diff (p :: Type -> Type) :: Type -> Type #

Methods

(.-.) :: Num a => p a -> p a -> Diff p a #

(.+^) :: Num a => p a -> Diff p a -> p a #

(.-^) :: Num a => p a -> Diff p a -> p a #

Instances

Instances details
Affine Complex # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Complex 
Instance details

Defined in Linear.Affine

type Diff Complex = Complex

Methods

(.-.) :: Num a => Complex a -> Complex a -> Diff Complex a #

(.+^) :: Num a => Complex a -> Diff Complex a -> Complex a #

(.-^) :: Num a => Complex a -> Diff Complex a -> Complex a #

Affine IntMap # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff IntMap 
Instance details

Defined in Linear.Affine

type Diff IntMap = IntMap

Methods

(.-.) :: Num a => IntMap a -> IntMap a -> Diff IntMap a #

(.+^) :: Num a => IntMap a -> Diff IntMap a -> IntMap a #

(.-^) :: Num a => IntMap a -> Diff IntMap a -> IntMap a #

Affine Identity # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Identity 
Instance details

Defined in Linear.Affine

type Diff Identity = Identity

Methods

(.-.) :: Num a => Identity a -> Identity a -> Diff Identity a #

(.+^) :: Num a => Identity a -> Diff Identity a -> Identity a #

(.-^) :: Num a => Identity a -> Diff Identity a -> Identity a #

Affine ZipList # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff ZipList 
Instance details

Defined in Linear.Affine

type Diff ZipList = ZipList

Methods

(.-.) :: Num a => ZipList a -> ZipList a -> Diff ZipList a #

(.+^) :: Num a => ZipList a -> Diff ZipList a -> ZipList a #

(.-^) :: Num a => ZipList a -> Diff ZipList a -> ZipList a #

Affine Plucker # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Plucker 
Instance details

Defined in Linear.Affine

type Diff Plucker = Plucker

Methods

(.-.) :: Num a => Plucker a -> Plucker a -> Diff Plucker a #

(.+^) :: Num a => Plucker a -> Diff Plucker a -> Plucker a #

(.-^) :: Num a => Plucker a -> Diff Plucker a -> Plucker a #

Affine Quaternion # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Quaternion 
Instance details

Defined in Linear.Affine

Methods

(.-.) :: Num a => Quaternion a -> Quaternion a -> Diff Quaternion a #

(.+^) :: Num a => Quaternion a -> Diff Quaternion a -> Quaternion a #

(.-^) :: Num a => Quaternion a -> Diff Quaternion a -> Quaternion a #

Affine V0 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V0 
Instance details

Defined in Linear.Affine

type Diff V0 = V0

Methods

(.-.) :: Num a => V0 a -> V0 a -> Diff V0 a #

(.+^) :: Num a => V0 a -> Diff V0 a -> V0 a #

(.-^) :: Num a => V0 a -> Diff V0 a -> V0 a #

Affine V1 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V1 
Instance details

Defined in Linear.Affine

type Diff V1 = V1

Methods

(.-.) :: Num a => V1 a -> V1 a -> Diff V1 a #

(.+^) :: Num a => V1 a -> Diff V1 a -> V1 a #

(.-^) :: Num a => V1 a -> Diff V1 a -> V1 a #

Affine V2 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V2 
Instance details

Defined in Linear.Affine

type Diff V2 = V2

Methods

(.-.) :: Num a => V2 a -> V2 a -> Diff V2 a #

(.+^) :: Num a => V2 a -> Diff V2 a -> V2 a #

(.-^) :: Num a => V2 a -> Diff V2 a -> V2 a #

Affine V3 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V3 
Instance details

Defined in Linear.Affine

type Diff V3 = V3

Methods

(.-.) :: Num a => V3 a -> V3 a -> Diff V3 a #

(.+^) :: Num a => V3 a -> Diff V3 a -> V3 a #

(.-^) :: Num a => V3 a -> Diff V3 a -> V3 a #

Affine V4 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V4 
Instance details

Defined in Linear.Affine

type Diff V4 = V4

Methods

(.-.) :: Num a => V4 a -> V4 a -> Diff V4 a #

(.+^) :: Num a => V4 a -> Diff V4 a -> V4 a #

(.-^) :: Num a => V4 a -> Diff V4 a -> V4 a #

Affine Vector # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Vector 
Instance details

Defined in Linear.Affine

type Diff Vector = Vector

Methods

(.-.) :: Num a => Vector a -> Vector a -> Diff Vector a #

(.+^) :: Num a => Vector a -> Diff Vector a -> Vector a #

(.-^) :: Num a => Vector a -> Diff Vector a -> Vector a #

Affine Maybe # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Maybe 
Instance details

Defined in Linear.Affine

type Diff Maybe = Maybe

Methods

(.-.) :: Num a => Maybe a -> Maybe a -> Diff Maybe a #

(.+^) :: Num a => Maybe a -> Diff Maybe a -> Maybe a #

(.-^) :: Num a => Maybe a -> Diff Maybe a -> Maybe a #

Affine [] # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff [] 
Instance details

Defined in Linear.Affine

type Diff [] = []

Methods

(.-.) :: Num a => [a] -> [a] -> Diff [] a #

(.+^) :: Num a => [a] -> Diff [] a -> [a] #

(.-^) :: Num a => [a] -> Diff [] a -> [a] #

Ord k => Affine (Map k) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Map k) 
Instance details

Defined in Linear.Affine

type Diff (Map k) = Map k

Methods

(.-.) :: Num a => Map k a -> Map k a -> Diff (Map k) a #

(.+^) :: Num a => Map k a -> Diff (Map k) a -> Map k a #

(.-^) :: Num a => Map k a -> Diff (Map k) a -> Map k a #

Additive f => Affine (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Point f) 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f

Methods

(.-.) :: Num a => Point f a -> Point f a -> Diff (Point f) a #

(.+^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

(.-^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

(Eq k, Hashable k) => Affine (HashMap k) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (HashMap k) 
Instance details

Defined in Linear.Affine

type Diff (HashMap k) = HashMap k

Methods

(.-.) :: Num a => HashMap k a -> HashMap k a -> Diff (HashMap k) a #

(.+^) :: Num a => HashMap k a -> Diff (HashMap k) a -> HashMap k a #

(.-^) :: Num a => HashMap k a -> Diff (HashMap k) a -> HashMap k a #

Dim n => Affine (V n) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (V n) 
Instance details

Defined in Linear.Affine

type Diff (V n) = V n

Methods

(.-.) :: Num a => V n a -> V n a -> Diff (V n) a #

(.+^) :: Num a => V n a -> Diff (V n) a -> V n a #

(.-^) :: Num a => V n a -> Diff (V n) a -> V n a #

(Affine f, Affine g) => Affine (Product f g) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Product f g) 
Instance details

Defined in Linear.Affine

type Diff (Product f g) = Product (Diff f) (Diff g)

Methods

(.-.) :: Num a => Product f g a -> Product f g a -> Diff (Product f g) a #

(.+^) :: Num a => Product f g a -> Diff (Product f g) a -> Product f g a #

(.-^) :: Num a => Product f g a -> Diff (Product f g) a -> Product f g a #

Affine ((->) b) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff ((->) b) 
Instance details

Defined in Linear.Affine

type Diff ((->) b) = (->) b

Methods

(.-.) :: Num a => (b -> a) -> (b -> a) -> Diff ((->) b) a #

(.+^) :: Num a => (b -> a) -> Diff ((->) b) a -> b -> a #

(.-^) :: Num a => (b -> a) -> Diff ((->) b) a -> b -> a #

type family Diff (p :: Type -> Type) :: Type -> Type #

Instances

Instances details
type Diff Complex # 
Instance details

Defined in Linear.Affine

type Diff Complex = Complex
type Diff IntMap # 
Instance details

Defined in Linear.Affine

type Diff IntMap = IntMap
type Diff Identity # 
Instance details

Defined in Linear.Affine

type Diff Identity = Identity
type Diff ZipList # 
Instance details

Defined in Linear.Affine

type Diff ZipList = ZipList
type Diff Plucker # 
Instance details

Defined in Linear.Affine

type Diff Plucker = Plucker
type Diff Quaternion # 
Instance details

Defined in Linear.Affine

type Diff V0 # 
Instance details

Defined in Linear.Affine

type Diff V0 = V0
type Diff V1 # 
Instance details

Defined in Linear.Affine

type Diff V1 = V1
type Diff V2 # 
Instance details

Defined in Linear.Affine

type Diff V2 = V2
type Diff V3 # 
Instance details

Defined in Linear.Affine

type Diff V3 = V3
type Diff V4 # 
Instance details

Defined in Linear.Affine

type Diff V4 = V4
type Diff Vector # 
Instance details

Defined in Linear.Affine

type Diff Vector = Vector
type Diff Maybe # 
Instance details

Defined in Linear.Affine

type Diff Maybe = Maybe
type Diff [] # 
Instance details

Defined in Linear.Affine

type Diff [] = []
type Diff (Map k) # 
Instance details

Defined in Linear.Affine

type Diff (Map k) = Map k
type Diff (Point f) # 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f
type Diff (HashMap k) # 
Instance details

Defined in Linear.Affine

type Diff (HashMap k) = HashMap k
type Diff (V n) # 
Instance details

Defined in Linear.Affine

type Diff (V n) = V n
type Diff (Product f g) # 
Instance details

Defined in Linear.Affine

type Diff (Product f g) = Product (Diff f) (Diff g)
type Diff ((->) b) # 
Instance details

Defined in Linear.Affine

type Diff ((->) b) = (->) b

newtype Point (f :: Type -> Type) a #

Constructors

P (f a) 

Instances

Instances details
Generic1 (Point f :: Type -> Type) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep1 (Point f :: Type -> Type) 
Instance details

Defined in Linear.Affine

type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: Point f a -> Rep1 (Point f) a

to1 :: Rep1 (Point f) a -> Point f a

Unbox (f a) => Vector Vector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicUnsafeFreeze :: Mutable Vector s (Point f a) -> ST s (Vector (Point f a))

basicUnsafeThaw :: Vector (Point f a) -> ST s (Mutable Vector s (Point f a))

basicLength :: Vector (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a)

basicUnsafeIndexM :: Vector (Point f a) -> Int -> Box (Point f a)

basicUnsafeCopy :: Mutable Vector s (Point f a) -> Vector (Point f a) -> ST s ()

elemseq :: Vector (Point f a) -> Point f a -> b -> b

Unbox (f a) => MVector MVector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicLength :: MVector s (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a)

basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Point f a))

basicInitialize :: MVector s (Point f a) -> ST s ()

basicUnsafeReplicate :: Int -> Point f a -> ST s (MVector s (Point f a))

basicUnsafeRead :: MVector s (Point f a) -> Int -> ST s (Point f a)

basicUnsafeWrite :: MVector s (Point f a) -> Int -> Point f a -> ST s ()

basicClear :: MVector s (Point f a) -> ST s ()

basicSet :: MVector s (Point f a) -> Point f a -> ST s ()

basicUnsafeCopy :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeMove :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeGrow :: MVector s (Point f a) -> Int -> ST s (MVector s (Point f a))

Representable f => Representable (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f) 
Instance details

Defined in Linear.Affine

type Rep (Point f) = Rep f

Methods

tabulate :: (Rep (Point f) -> a) -> Point f a

index :: Point f a -> Rep (Point f) -> a

Eq1 f => Eq1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftEq :: (a -> b -> Bool) -> Point f a -> Point f b -> Bool

Ord1 f => Ord1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftCompare :: (a -> b -> Ordering) -> Point f a -> Point f b -> Ordering

Read1 f => Read1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Point f a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Point f a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Point f a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Point f a]

Show1 f => Show1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Point f a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Point f a] -> ShowS

Serial1 f => Serial1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

serializeWith :: MonadPut m => (a -> m ()) -> Point f a -> m ()

deserializeWith :: MonadGet m => m a -> m (Point f a)

Distributive f => Distributive (Point f) # 
Instance details

Defined in Linear.Affine

Methods

distribute :: Functor f0 => f0 (Point f a) -> Point f (f0 a)

collect :: Functor f0 => (a -> Point f b) -> f0 a -> Point f (f0 b)

distributeM :: Monad m => m (Point f a) -> Point f (m a)

collectM :: Monad m => (a -> Point f b) -> m a -> Point f (m b)

Applicative f => Applicative (Point f) # 
Instance details

Defined in Linear.Affine

Methods

pure :: a -> Point f a

(<*>) :: Point f (a -> b) -> Point f a -> Point f b

liftA2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

(*>) :: Point f a -> Point f b -> Point f b

(<*) :: Point f a -> Point f b -> Point f a

Functor f => Functor (Point f) # 
Instance details

Defined in Linear.Affine

Methods

fmap :: (a -> b) -> Point f a -> Point f b

(<$) :: a -> Point f b -> Point f a

Monad f => Monad (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(>>=) :: Point f a -> (a -> Point f b) -> Point f b

(>>) :: Point f a -> Point f b -> Point f b

return :: a -> Point f a

Foldable f => Foldable (Point f) # 
Instance details

Defined in Linear.Affine

Methods

fold :: Monoid m => Point f m -> m

foldMap :: Monoid m => (a -> m) -> Point f a -> m

foldMap' :: Monoid m => (a -> m) -> Point f a -> m

foldr :: (a -> b -> b) -> b -> Point f a -> b

foldr' :: (a -> b -> b) -> b -> Point f a -> b

foldl :: (b -> a -> b) -> b -> Point f a -> b

foldl' :: (b -> a -> b) -> b -> Point f a -> b

foldr1 :: (a -> a -> a) -> Point f a -> a

foldl1 :: (a -> a -> a) -> Point f a -> a

toList :: Point f a -> [a]

null :: Point f a -> Bool

length :: Point f a -> Int

elem :: Eq a => a -> Point f a -> Bool

maximum :: Ord a => Point f a -> a

minimum :: Ord a => Point f a -> a

sum :: Num a => Point f a -> a

product :: Num a => Point f a -> a

Traversable f => Traversable (Point f) # 
Instance details

Defined in Linear.Affine

Methods

traverse :: Applicative f0 => (a -> f0 b) -> Point f a -> f0 (Point f b)

sequenceA :: Applicative f0 => Point f (f0 a) -> f0 (Point f a)

mapM :: Monad m => (a -> m b) -> Point f a -> m (Point f b)

sequence :: Monad m => Point f (m a) -> m (Point f a)

Hashable1 f => Hashable1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Point f a -> Int

Additive f => Affine (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Point f) 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f

Methods

(.-.) :: Num a => Point f a -> Point f a -> Diff (Point f) a #

(.+^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

(.-^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

Metric f => Metric (Point f) # 
Instance details

Defined in Linear.Affine

Methods

dot :: Num a => Point f a -> Point f a -> a #

quadrance :: Num a => Point f a -> a #

qd :: Num a => Point f a -> Point f a -> a #

distance :: Floating a => Point f a -> Point f a -> a #

norm :: Floating a => Point f a -> a #

signorm :: Floating a => Point f a -> Point f a #

Finite f => Finite (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Size (Point f) 
Instance details

Defined in Linear.Affine

type Size (Point f) = Size f

Methods

toV :: Point f a -> V (Size (Point f)) a

fromV :: V (Size (Point f)) a -> Point f a

R1 f => R1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_x :: Lens' (Point f a) a #

R2 f => R2 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_y :: Lens' (Point f a) a #

_xy :: Lens' (Point f a) (V2 a) #

R3 f => R3 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_z :: Lens' (Point f a) a #

_xyz :: Lens' (Point f a) (V3 a) #

R4 f => R4 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_w :: Lens' (Point f a) a #

_xyzw :: Lens' (Point f a) (V4 a) #

Additive f => Additive (Point f) # 
Instance details

Defined in Linear.Affine

Methods

zero :: Num a => Point f a #

(^+^) :: Num a => Point f a -> Point f a -> Point f a #

(^-^) :: Num a => Point f a -> Point f a -> Point f a #

lerp :: Num a => a -> Point f a -> Point f a -> Point f a #

liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a #

liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c #

Apply f => Apply (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(<.>) :: Point f (a -> b) -> Point f a -> Point f b

(.>) :: Point f a -> Point f b -> Point f b

(<.) :: Point f a -> Point f b -> Point f a

liftF2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

Bind f => Bind (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(>>-) :: Point f a -> (a -> Point f b) -> Point f b

join :: Point f (Point f a) -> Point f a

Binary (f a) => Binary (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

put :: Point f a -> Put

get :: Get (Point f a)

putList :: [Point f a] -> Put

Serial (f a) => Serial (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

serialize :: MonadPut m => Point f a -> m ()

deserialize :: MonadGet m => m (Point f a)

Serialize (f a) => Serialize (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

put :: Putter (Point f a)

get :: Get (Point f a)

NFData (f a) => NFData (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

rnf :: Point f a -> ()

Monoid (f a) => Monoid (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

mempty :: Point f a

mappend :: Point f a -> Point f a -> Point f a

mconcat :: [Point f a] -> Point f a

Semigroup (f a) => Semigroup (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(<>) :: Point f a -> Point f a -> Point f a

sconcat :: NonEmpty (Point f a) -> Point f a

stimes :: Integral b => b -> Point f a -> Point f a

(Typeable f, Typeable a, Data (f a)) => Data (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point f a -> c (Point f a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Point f a)

toConstr :: Point f a -> Constr

dataTypeOf :: Point f a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Point f a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Point f a))

gmapT :: (forall b. Data b => b -> b) -> Point f a -> Point f a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQ :: (forall d. Data d => d -> u) -> Point f a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Point f a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

Storable (f a) => Storable (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

sizeOf :: Point f a -> Int

alignment :: Point f a -> Int

peekElemOff :: Ptr (Point f a) -> Int -> IO (Point f a)

pokeElemOff :: Ptr (Point f a) -> Int -> Point f a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (Point f a)

pokeByteOff :: Ptr b -> Int -> Point f a -> IO ()

peek :: Ptr (Point f a) -> IO (Point f a)

poke :: Ptr (Point f a) -> Point f a -> IO ()

Generic (Point f a) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f a) 
Instance details

Defined in Linear.Affine

type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Point f a -> Rep (Point f a) x

to :: Rep (Point f a) x -> Point f a

Ix (f a) => Ix (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

range :: (Point f a, Point f a) -> [Point f a]

index :: (Point f a, Point f a) -> Point f a -> Int

unsafeIndex :: (Point f a, Point f a) -> Point f a -> Int

inRange :: (Point f a, Point f a) -> Point f a -> Bool

rangeSize :: (Point f a, Point f a) -> Int

unsafeRangeSize :: (Point f a, Point f a) -> Int

Num (f a) => Num (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(+) :: Point f a -> Point f a -> Point f a

(-) :: Point f a -> Point f a -> Point f a

(*) :: Point f a -> Point f a -> Point f a

negate :: Point f a -> Point f a

abs :: Point f a -> Point f a

signum :: Point f a -> Point f a

fromInteger :: Integer -> Point f a

Read (f a) => Read (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

readsPrec :: Int -> ReadS (Point f a)

readList :: ReadS [Point f a]

readPrec :: ReadPrec (Point f a)

readListPrec :: ReadPrec [Point f a]

Fractional (f a) => Fractional (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(/) :: Point f a -> Point f a -> Point f a

recip :: Point f a -> Point f a

fromRational :: Rational -> Point f a

Show (f a) => Show (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

showsPrec :: Int -> Point f a -> ShowS

show :: Point f a -> String

showList :: [Point f a] -> ShowS

Eq (f a) => Eq (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(==) :: Point f a -> Point f a -> Bool

(/=) :: Point f a -> Point f a -> Bool

Ord (f a) => Ord (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

compare :: Point f a -> Point f a -> Ordering

(<) :: Point f a -> Point f a -> Bool

(<=) :: Point f a -> Point f a -> Bool

(>) :: Point f a -> Point f a -> Bool

(>=) :: Point f a -> Point f a -> Bool

max :: Point f a -> Point f a -> Point f a

min :: Point f a -> Point f a -> Point f a

Hashable (f a) => Hashable (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

hashWithSalt :: Int -> Point f a -> Int

hash :: Point f a -> Int

Ixed (f a) => Ixed (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

ix :: Index (Point f a) -> Traversal' (Point f a) (IxValue (Point f a))

Wrapped (Point f a) # 
Instance details

Defined in Linear.Affine

Associated Types

type Unwrapped (Point f a) 
Instance details

Defined in Linear.Affine

type Unwrapped (Point f a) = f a

Methods

_Wrapped' :: Iso' (Point f a) (Unwrapped (Point f a))

Epsilon (f a) => Epsilon (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

nearZero :: Point f a -> Bool #

Random (f a) => Random (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

randomR :: RandomGen g => (Point f a, Point f a) -> g -> (Point f a, g)

random :: RandomGen g => g -> (Point f a, g)

randomRs :: RandomGen g => (Point f a, Point f a) -> g -> [Point f a]

randoms :: RandomGen g => g -> [Point f a]

Unbox (f a) => Unbox (Point f a) # 
Instance details

Defined in Linear.Affine

t ~ Point g b => Rewrapped (Point f a) t # 
Instance details

Defined in Linear.Affine

Traversable f => Each (Point f a) (Point f b) a b # 
Instance details

Defined in Linear.Affine

Methods

each :: Traversal (Point f a) (Point f b) a b

type Rep1 (Point f :: Type -> Type) # 
Instance details

Defined in Linear.Affine

type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
newtype MVector s (Point f a) # 
Instance details

Defined in Linear.Affine

newtype MVector s (Point f a) = MV_P (MVector s (f a))
type Rep (Point f) # 
Instance details

Defined in Linear.Affine

type Rep (Point f) = Rep f
type Diff (Point f) # 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f
type Size (Point f) # 
Instance details

Defined in Linear.Affine

type Size (Point f) = Size f
type Rep (Point f a) # 
Instance details

Defined in Linear.Affine

type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))
type Index (Point f a) # 
Instance details

Defined in Linear.Affine

type Index (Point f a) = Index (f a)
type IxValue (Point f a) # 
Instance details

Defined in Linear.Affine

type IxValue (Point f a) = IxValue (f a)
type Unwrapped (Point f a) # 
Instance details

Defined in Linear.Affine

type Unwrapped (Point f a) = f a
newtype Vector (Point f a) # 
Instance details

Defined in Linear.Affine

newtype Vector (Point f a) = V_P (Vector (f a))

class Num r => Algebra r m where #

Methods

mult :: (m -> m -> r) -> m -> r #

unital :: r -> m -> r #

Instances

Instances details
Num r => Algebra r Void # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (Void -> Void -> r) -> Void -> r #

unital :: r -> Void -> r #

Num r => Algebra r () # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (() -> () -> r) -> () -> r #

unital :: r -> () -> r #

Num r => Algebra r (E Complex) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E Complex -> E Complex -> r) -> E Complex -> r #

unital :: r -> E Complex -> r #

(Num r, TrivialConjugate r) => Algebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E Quaternion -> E Quaternion -> r) -> E Quaternion -> r #

unital :: r -> E Quaternion -> r #

Num r => Algebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V0 -> E V0 -> r) -> E V0 -> r #

unital :: r -> E V0 -> r #

Num r => Algebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V1 -> E V1 -> r) -> E V1 -> r #

unital :: r -> E V1 -> r #

(Algebra r a, Algebra r b) => Algebra r (a, b) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: ((a, b) -> (a, b) -> r) -> (a, b) -> r #

unital :: r -> (a, b) -> r #

class Num r => Coalgebra r m where #

Methods

comult :: (m -> r) -> m -> m -> r #

counital :: (m -> r) -> r #

Instances

Instances details
Num r => Coalgebra r Void # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (Void -> r) -> Void -> Void -> r #

counital :: (Void -> r) -> r #

Num r => Coalgebra r () # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (() -> r) -> () -> () -> r #

counital :: (() -> r) -> r #

Num r => Coalgebra r (E Complex) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E Complex -> r) -> E Complex -> E Complex -> r #

counital :: (E Complex -> r) -> r #

(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E Quaternion -> r) -> E Quaternion -> E Quaternion -> r #

counital :: (E Quaternion -> r) -> r #

Num r => Coalgebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V0 -> r) -> E V0 -> E V0 -> r #

counital :: (E V0 -> r) -> r #

Num r => Coalgebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V1 -> r) -> E V1 -> E V1 -> r #

counital :: (E V1 -> r) -> r #

Num r => Coalgebra r (E V2) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r #

counital :: (E V2 -> r) -> r #

Num r => Coalgebra r (E V3) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r #

counital :: (E V3 -> r) -> r #

Num r => Coalgebra r (E V4) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r #

counital :: (E V4 -> r) -> r #

(Coalgebra r m, Coalgebra r n) => Coalgebra r (m, n) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: ((m, n) -> r) -> (m, n) -> (m, n) -> r #

counital :: ((m, n) -> r) -> r #

class Num a => Conjugate a where #

Minimal complete definition

Nothing

Methods

conjugate :: a -> a #

Instances

Instances details
Conjugate CDouble # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: CDouble -> CDouble #

Conjugate CFloat # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: CFloat -> CFloat #

Conjugate Int16 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Int16 -> Int16 #

Conjugate Int32 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Int32 -> Int32 #

Conjugate Int64 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Int64 -> Int64 #

Conjugate Int8 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Int8 -> Int8 #

Conjugate Word16 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Word16 -> Word16 #

Conjugate Word32 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Word32 -> Word32 #

Conjugate Word64 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Word64 -> Word64 #

Conjugate Word8 # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Word8 -> Word8 #

Conjugate Integer # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Integer -> Integer #

Conjugate Double # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Double -> Double #

Conjugate Float # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Float -> Float #

Conjugate Int # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Int -> Int #

Conjugate Word # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Word -> Word #

(Conjugate a, RealFloat a) => Conjugate (Complex a) # 
Instance details

Defined in Linear.Conjugate

Methods

conjugate :: Complex a -> Complex a #

(Conjugate a, RealFloat a) => Conjugate (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

conjugate :: Quaternion a -> Quaternion a #

class Conjugate a => TrivialConjugate a #

Instances

Instances details
TrivialConjugate CDouble # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate CFloat # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Int16 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Int32 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Int64 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Int8 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Word16 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Word32 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Word64 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Word8 # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Integer # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Double # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Float # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Int # 
Instance details

Defined in Linear.Conjugate

TrivialConjugate Word # 
Instance details

Defined in Linear.Conjugate

newtype Covector r a #

Constructors

Covector 

Fields

Instances

Instances details
Num r => Alternative (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

empty :: Covector r a

(<|>) :: Covector r a -> Covector r a -> Covector r a

some :: Covector r a -> Covector r [a]

many :: Covector r a -> Covector r [a]

Applicative (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

pure :: a -> Covector r a

(<*>) :: Covector r (a -> b) -> Covector r a -> Covector r b

liftA2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c

(*>) :: Covector r a -> Covector r b -> Covector r b

(<*) :: Covector r a -> Covector r b -> Covector r a

Functor (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

fmap :: (a -> b) -> Covector r a -> Covector r b

(<$) :: a -> Covector r b -> Covector r a

Monad (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

(>>=) :: Covector r a -> (a -> Covector r b) -> Covector r b

(>>) :: Covector r a -> Covector r b -> Covector r b

return :: a -> Covector r a

Num r => MonadPlus (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

mzero :: Covector r a

mplus :: Covector r a -> Covector r a -> Covector r a

Num r => Alt (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

(<!>) :: Covector r a -> Covector r a -> Covector r a

some :: Applicative (Covector r) => Covector r a -> Covector r [a]

many :: Applicative (Covector r) => Covector r a -> Covector r [a]

Apply (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

(<.>) :: Covector r (a -> b) -> Covector r a -> Covector r b

(.>) :: Covector r a -> Covector r b -> Covector r b

(<.) :: Covector r a -> Covector r b -> Covector r a

liftF2 :: (a -> b -> c) -> Covector r a -> Covector r b -> Covector r c

Bind (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

(>>-) :: Covector r a -> (a -> Covector r b) -> Covector r b

join :: Covector r (Covector r a) -> Covector r a

Num r => Plus (Covector r) # 
Instance details

Defined in Linear.Covector

Methods

zero :: Covector r a

Coalgebra r m => Num (Covector r m) # 
Instance details

Defined in Linear.Covector

Methods

(+) :: Covector r m -> Covector r m -> Covector r m

(-) :: Covector r m -> Covector r m -> Covector r m

(*) :: Covector r m -> Covector r m -> Covector r m

negate :: Covector r m -> Covector r m

abs :: Covector r m -> Covector r m

signum :: Covector r m -> Covector r m

fromInteger :: Integer -> Covector r m

class Num a => Epsilon a where #

Methods

nearZero :: a -> Bool #

Instances

Instances details
Epsilon CDouble # 
Instance details

Defined in Linear.Epsilon

Methods

nearZero :: CDouble -> Bool #

Epsilon CFloat # 
Instance details

Defined in Linear.Epsilon

Methods

nearZero :: CFloat -> Bool #

Epsilon Double # 
Instance details

Defined in Linear.Epsilon

Methods

nearZero :: Double -> Bool #

Epsilon Float # 
Instance details

Defined in Linear.Epsilon

Methods

nearZero :: Float -> Bool #

(Epsilon a, RealFloat a) => Epsilon (Complex a) # 
Instance details

Defined in Linear.Epsilon

Methods

nearZero :: Complex a -> Bool #

Epsilon a => Epsilon (Plucker a) # 
Instance details

Defined in Linear.Plucker

Methods

nearZero :: Plucker a -> Bool #

(RealFloat a, Epsilon a) => Epsilon (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

nearZero :: Quaternion a -> Bool #

Epsilon (V0 a) # 
Instance details

Defined in Linear.V0

Methods

nearZero :: V0 a -> Bool #

Epsilon a => Epsilon (V1 a) # 
Instance details

Defined in Linear.V1

Methods

nearZero :: V1 a -> Bool #

Epsilon a => Epsilon (V2 a) # 
Instance details

Defined in Linear.V2

Methods

nearZero :: V2 a -> Bool #

Epsilon a => Epsilon (V3 a) # 
Instance details

Defined in Linear.V3

Methods

nearZero :: V3 a -> Bool #

Epsilon a => Epsilon (V4 a) # 
Instance details

Defined in Linear.V4

Methods

nearZero :: V4 a -> Bool #

Epsilon (f a) => Epsilon (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

nearZero :: Point f a -> Bool #

(Dim n, Epsilon a) => Epsilon (V n a) # 
Instance details

Defined in Linear.V

Methods

nearZero :: V n a -> Bool #

type M22 a = V2 (V2 a) #

type M23 a = V2 (V3 a) #

type M24 a = V2 (V4 a) #

type M32 a = V3 (V2 a) #

type M33 a = V3 (V3 a) #

type M34 a = V3 (V4 a) #

type M42 a = V4 (V2 a) #

type M43 a = V4 (V3 a) #

type M44 a = V4 (V4 a) #

class Additive f => Metric (f :: Type -> Type) where #

Minimal complete definition

Nothing

Methods

dot :: Num a => f a -> f a -> a #

quadrance :: Num a => f a -> a #

qd :: Num a => f a -> f a -> a #

distance :: Floating a => f a -> f a -> a #

norm :: Floating a => f a -> a #

signorm :: Floating a => f a -> f a #

Instances

Instances details
Metric IntMap # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => IntMap a -> IntMap a -> a #

quadrance :: Num a => IntMap a -> a #

qd :: Num a => IntMap a -> IntMap a -> a #

distance :: Floating a => IntMap a -> IntMap a -> a #

norm :: Floating a => IntMap a -> a #

signorm :: Floating a => IntMap a -> IntMap a #

Metric Identity # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Identity a -> Identity a -> a #

quadrance :: Num a => Identity a -> a #

qd :: Num a => Identity a -> Identity a -> a #

distance :: Floating a => Identity a -> Identity a -> a #

norm :: Floating a => Identity a -> a #

signorm :: Floating a => Identity a -> Identity a #

Metric ZipList # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => ZipList a -> ZipList a -> a #

quadrance :: Num a => ZipList a -> a #

qd :: Num a => ZipList a -> ZipList a -> a #

distance :: Floating a => ZipList a -> ZipList a -> a #

norm :: Floating a => ZipList a -> a #

signorm :: Floating a => ZipList a -> ZipList a #

Metric Plucker # 
Instance details

Defined in Linear.Plucker

Methods

dot :: Num a => Plucker a -> Plucker a -> a #

quadrance :: Num a => Plucker a -> a #

qd :: Num a => Plucker a -> Plucker a -> a #

distance :: Floating a => Plucker a -> Plucker a -> a #

norm :: Floating a => Plucker a -> a #

signorm :: Floating a => Plucker a -> Plucker a #

Metric Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

dot :: Num a => Quaternion a -> Quaternion a -> a #

quadrance :: Num a => Quaternion a -> a #

qd :: Num a => Quaternion a -> Quaternion a -> a #

distance :: Floating a => Quaternion a -> Quaternion a -> a #

norm :: Floating a => Quaternion a -> a #

signorm :: Floating a => Quaternion a -> Quaternion a #

Metric V0 # 
Instance details

Defined in Linear.V0

Methods

dot :: Num a => V0 a -> V0 a -> a #

quadrance :: Num a => V0 a -> a #

qd :: Num a => V0 a -> V0 a -> a #

distance :: Floating a => V0 a -> V0 a -> a #

norm :: Floating a => V0 a -> a #

signorm :: Floating a => V0 a -> V0 a #

Metric V1 # 
Instance details

Defined in Linear.V1

Methods

dot :: Num a => V1 a -> V1 a -> a #

quadrance :: Num a => V1 a -> a #

qd :: Num a => V1 a -> V1 a -> a #

distance :: Floating a => V1 a -> V1 a -> a #

norm :: Floating a => V1 a -> a #

signorm :: Floating a => V1 a -> V1 a #

Metric V2 # 
Instance details

Defined in Linear.V2

Methods

dot :: Num a => V2 a -> V2 a -> a #

quadrance :: Num a => V2 a -> a #

qd :: Num a => V2 a -> V2 a -> a #

distance :: Floating a => V2 a -> V2 a -> a #

norm :: Floating a => V2 a -> a #

signorm :: Floating a => V2 a -> V2 a #

Metric V3 # 
Instance details

Defined in Linear.V3

Methods

dot :: Num a => V3 a -> V3 a -> a #

quadrance :: Num a => V3 a -> a #

qd :: Num a => V3 a -> V3 a -> a #

distance :: Floating a => V3 a -> V3 a -> a #

norm :: Floating a => V3 a -> a #

signorm :: Floating a => V3 a -> V3 a #

Metric V4 # 
Instance details

Defined in Linear.V4

Methods

dot :: Num a => V4 a -> V4 a -> a #

quadrance :: Num a => V4 a -> a #

qd :: Num a => V4 a -> V4 a -> a #

distance :: Floating a => V4 a -> V4 a -> a #

norm :: Floating a => V4 a -> a #

signorm :: Floating a => V4 a -> V4 a #

Metric Vector # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Vector a -> Vector a -> a #

quadrance :: Num a => Vector a -> a #

qd :: Num a => Vector a -> Vector a -> a #

distance :: Floating a => Vector a -> Vector a -> a #

norm :: Floating a => Vector a -> a #

signorm :: Floating a => Vector a -> Vector a #

Metric Maybe # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Maybe a -> Maybe a -> a #

quadrance :: Num a => Maybe a -> a #

qd :: Num a => Maybe a -> Maybe a -> a #

distance :: Floating a => Maybe a -> Maybe a -> a #

norm :: Floating a => Maybe a -> a #

signorm :: Floating a => Maybe a -> Maybe a #

Metric [] # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => [a] -> [a] -> a #

quadrance :: Num a => [a] -> a #

qd :: Num a => [a] -> [a] -> a #

distance :: Floating a => [a] -> [a] -> a #

norm :: Floating a => [a] -> a #

signorm :: Floating a => [a] -> [a] #

Ord k => Metric (Map k) # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Map k a -> Map k a -> a #

quadrance :: Num a => Map k a -> a #

qd :: Num a => Map k a -> Map k a -> a #

distance :: Floating a => Map k a -> Map k a -> a #

norm :: Floating a => Map k a -> a #

signorm :: Floating a => Map k a -> Map k a #

Metric f => Metric (Point f) # 
Instance details

Defined in Linear.Affine

Methods

dot :: Num a => Point f a -> Point f a -> a #

quadrance :: Num a => Point f a -> a #

qd :: Num a => Point f a -> Point f a -> a #

distance :: Floating a => Point f a -> Point f a -> a #

norm :: Floating a => Point f a -> a #

signorm :: Floating a => Point f a -> Point f a #

(Hashable k, Eq k) => Metric (HashMap k) # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => HashMap k a -> HashMap k a -> a #

quadrance :: Num a => HashMap k a -> a #

qd :: Num a => HashMap k a -> HashMap k a -> a #

distance :: Floating a => HashMap k a -> HashMap k a -> a #

norm :: Floating a => HashMap k a -> a #

signorm :: Floating a => HashMap k a -> HashMap k a #

Dim n => Metric (V n) # 
Instance details

Defined in Linear.V

Methods

dot :: Num a => V n a -> V n a -> a #

quadrance :: Num a => V n a -> a #

qd :: Num a => V n a -> V n a -> a #

distance :: Floating a => V n a -> V n a -> a #

norm :: Floating a => V n a -> a #

signorm :: Floating a => V n a -> V n a #

(Metric f, Metric g) => Metric (Product f g) # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Product f g a -> Product f g a -> a #

quadrance :: Num a => Product f g a -> a #

qd :: Num a => Product f g a -> Product f g a -> a #

distance :: Floating a => Product f g a -> Product f g a -> a #

norm :: Floating a => Product f g a -> a #

signorm :: Floating a => Product f g a -> Product f g a #

(Metric f, Metric g) => Metric (Compose f g) # 
Instance details

Defined in Linear.Metric

Methods

dot :: Num a => Compose f g a -> Compose f g a -> a #

quadrance :: Num a => Compose f g a -> a #

qd :: Num a => Compose f g a -> Compose f g a -> a #

distance :: Floating a => Compose f g a -> Compose f g a -> a #

norm :: Floating a => Compose f g a -> a #

signorm :: Floating a => Compose f g a -> Compose f g a #

class Complicated (t :: Type -> Type) where #

Methods

_e :: Lens' (t a) a #

_i :: Lens' (t a) a #

Instances

Instances details
Complicated Complex # 
Instance details

Defined in Linear.Quaternion

Methods

_e :: Lens' (Complex a) a #

_i :: Lens' (Complex a) a #

Complicated Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_e :: Lens' (Quaternion a) a #

_i :: Lens' (Quaternion a) a #

class Complicated t => Hamiltonian (t :: Type -> Type) where #

Methods

_j :: Lens' (t a) a #

_k :: Lens' (t a) a #

_ijk :: Lens' (t a) (V3 a) #

Instances

Instances details
Hamiltonian Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_j :: Lens' (Quaternion a) a #

_k :: Lens' (Quaternion a) a #

_ijk :: Lens' (Quaternion a) (V3 a) #

data Quaternion a #

Constructors

Quaternion !a !(V3 a) 

Instances

Instances details
Representable Quaternion # 
Instance details

Defined in Linear.Quaternion

Associated Types

type Rep Quaternion 
Instance details

Defined in Linear.Quaternion

Methods

tabulate :: (Rep Quaternion -> a) -> Quaternion a

index :: Quaternion a -> Rep Quaternion -> a

Eq1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

liftEq :: (a -> b -> Bool) -> Quaternion a -> Quaternion b -> Bool

Ord1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

liftCompare :: (a -> b -> Ordering) -> Quaternion a -> Quaternion b -> Ordering

Read1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Quaternion a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Quaternion a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Quaternion a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Quaternion a]

Show1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Quaternion a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Quaternion a] -> ShowS

Serial1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

serializeWith :: MonadPut m => (a -> m ()) -> Quaternion a -> m ()

deserializeWith :: MonadGet m => m a -> m (Quaternion a)

Distributive Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

distribute :: Functor f => f (Quaternion a) -> Quaternion (f a)

collect :: Functor f => (a -> Quaternion b) -> f a -> Quaternion (f b)

distributeM :: Monad m => m (Quaternion a) -> Quaternion (m a)

collectM :: Monad m => (a -> Quaternion b) -> m a -> Quaternion (m b)

Applicative Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

pure :: a -> Quaternion a

(<*>) :: Quaternion (a -> b) -> Quaternion a -> Quaternion b

liftA2 :: (a -> b -> c) -> Quaternion a -> Quaternion b -> Quaternion c

(*>) :: Quaternion a -> Quaternion b -> Quaternion b

(<*) :: Quaternion a -> Quaternion b -> Quaternion a

Functor Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

fmap :: (a -> b) -> Quaternion a -> Quaternion b

(<$) :: a -> Quaternion b -> Quaternion a

Monad Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

(>>=) :: Quaternion a -> (a -> Quaternion b) -> Quaternion b

(>>) :: Quaternion a -> Quaternion b -> Quaternion b

return :: a -> Quaternion a

MonadFix Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

mfix :: (a -> Quaternion a) -> Quaternion a

MonadZip Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

mzip :: Quaternion a -> Quaternion b -> Quaternion (a, b)

mzipWith :: (a -> b -> c) -> Quaternion a -> Quaternion b -> Quaternion c

munzip :: Quaternion (a, b) -> (Quaternion a, Quaternion b)

Foldable Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

fold :: Monoid m => Quaternion m -> m

foldMap :: Monoid m => (a -> m) -> Quaternion a -> m

foldMap' :: Monoid m => (a -> m) -> Quaternion a -> m

foldr :: (a -> b -> b) -> b -> Quaternion a -> b

foldr' :: (a -> b -> b) -> b -> Quaternion a -> b

foldl :: (b -> a -> b) -> b -> Quaternion a -> b

foldl' :: (b -> a -> b) -> b -> Quaternion a -> b

foldr1 :: (a -> a -> a) -> Quaternion a -> a

foldl1 :: (a -> a -> a) -> Quaternion a -> a

toList :: Quaternion a -> [a]

null :: Quaternion a -> Bool

length :: Quaternion a -> Int

elem :: Eq a => a -> Quaternion a -> Bool

maximum :: Ord a => Quaternion a -> a

minimum :: Ord a => Quaternion a -> a

sum :: Num a => Quaternion a -> a

product :: Num a => Quaternion a -> a

Traversable Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

traverse :: Applicative f => (a -> f b) -> Quaternion a -> f (Quaternion b)

sequenceA :: Applicative f => Quaternion (f a) -> f (Quaternion a)

mapM :: Monad m => (a -> m b) -> Quaternion a -> m (Quaternion b)

sequence :: Monad m => Quaternion (m a) -> m (Quaternion a)

Hashable1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Quaternion a -> Int

Affine Quaternion # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff Quaternion 
Instance details

Defined in Linear.Affine

Methods

(.-.) :: Num a => Quaternion a -> Quaternion a -> Diff Quaternion a #

(.+^) :: Num a => Quaternion a -> Diff Quaternion a -> Quaternion a #

(.-^) :: Num a => Quaternion a -> Diff Quaternion a -> Quaternion a #

Metric Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

dot :: Num a => Quaternion a -> Quaternion a -> a #

quadrance :: Num a => Quaternion a -> a #

qd :: Num a => Quaternion a -> Quaternion a -> a #

distance :: Floating a => Quaternion a -> Quaternion a -> a #

norm :: Floating a => Quaternion a -> a #

signorm :: Floating a => Quaternion a -> Quaternion a #

Complicated Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_e :: Lens' (Quaternion a) a #

_i :: Lens' (Quaternion a) a #

Hamiltonian Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_j :: Lens' (Quaternion a) a #

_k :: Lens' (Quaternion a) a #

_ijk :: Lens' (Quaternion a) (V3 a) #

Trace Quaternion # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Quaternion (Quaternion a) -> a #

diagonal :: Quaternion (Quaternion a) -> Quaternion a #

Finite Quaternion # 
Instance details

Defined in Linear.Quaternion

Associated Types

type Size Quaternion 
Instance details

Defined in Linear.Quaternion

type Size Quaternion = 4

Methods

toV :: Quaternion a -> V (Size Quaternion) a

fromV :: V (Size Quaternion) a -> Quaternion a

R1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_x :: Lens' (Quaternion a) a #

R2 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_y :: Lens' (Quaternion a) a #

_xy :: Lens' (Quaternion a) (V2 a) #

R3 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_z :: Lens' (Quaternion a) a #

_xyz :: Lens' (Quaternion a) (V3 a) #

R4 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_w :: Lens' (Quaternion a) a #

_xyzw :: Lens' (Quaternion a) (V4 a) #

Additive Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

zero :: Num a => Quaternion a #

(^+^) :: Num a => Quaternion a -> Quaternion a -> Quaternion a #

(^-^) :: Num a => Quaternion a -> Quaternion a -> Quaternion a #

lerp :: Num a => a -> Quaternion a -> Quaternion a -> Quaternion a #

liftU2 :: (a -> a -> a) -> Quaternion a -> Quaternion a -> Quaternion a #

liftI2 :: (a -> b -> c) -> Quaternion a -> Quaternion b -> Quaternion c #

Apply Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

(<.>) :: Quaternion (a -> b) -> Quaternion a -> Quaternion b

(.>) :: Quaternion a -> Quaternion b -> Quaternion b

(<.) :: Quaternion a -> Quaternion b -> Quaternion a

liftF2 :: (a -> b -> c) -> Quaternion a -> Quaternion b -> Quaternion c

Bind Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

(>>-) :: Quaternion a -> (a -> Quaternion b) -> Quaternion b

join :: Quaternion (Quaternion a) -> Quaternion a

Generic1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Associated Types

type Rep1 Quaternion 
Instance details

Defined in Linear.Quaternion

type Rep1 Quaternion = D1 ('MetaData "Quaternion" "Linear.Quaternion" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "Quaternion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec1 V3)))

Methods

from1 :: Quaternion a -> Rep1 Quaternion a

to1 :: Rep1 Quaternion a -> Quaternion a

Lift a => Lift (Quaternion a :: Type) # 
Instance details

Defined in Linear.Quaternion

Methods

lift :: Quote m => Quaternion a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => Quaternion a -> Code m (Quaternion a)

(Num r, TrivialConjugate r) => Algebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E Quaternion -> E Quaternion -> r) -> E Quaternion -> r #

unital :: r -> E Quaternion -> r #

(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E Quaternion -> r) -> E Quaternion -> E Quaternion -> r #

counital :: (E Quaternion -> r) -> r #

Unbox a => Vector Vector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

basicUnsafeFreeze :: Mutable Vector s (Quaternion a) -> ST s (Vector (Quaternion a))

basicUnsafeThaw :: Vector (Quaternion a) -> ST s (Mutable Vector s (Quaternion a))

basicLength :: Vector (Quaternion a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Quaternion a) -> Vector (Quaternion a)

basicUnsafeIndexM :: Vector (Quaternion a) -> Int -> Box (Quaternion a)

basicUnsafeCopy :: Mutable Vector s (Quaternion a) -> Vector (Quaternion a) -> ST s ()

elemseq :: Vector (Quaternion a) -> Quaternion a -> b -> b

Unbox a => MVector MVector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

basicLength :: MVector s (Quaternion a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Quaternion a) -> MVector s (Quaternion a)

basicOverlaps :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Quaternion a))

basicInitialize :: MVector s (Quaternion a) -> ST s ()

basicUnsafeReplicate :: Int -> Quaternion a -> ST s (MVector s (Quaternion a))

basicUnsafeRead :: MVector s (Quaternion a) -> Int -> ST s (Quaternion a)

basicUnsafeWrite :: MVector s (Quaternion a) -> Int -> Quaternion a -> ST s ()

basicClear :: MVector s (Quaternion a) -> ST s ()

basicSet :: MVector s (Quaternion a) -> Quaternion a -> ST s ()

basicUnsafeCopy :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> ST s ()

basicUnsafeMove :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> ST s ()

basicUnsafeGrow :: MVector s (Quaternion a) -> Int -> ST s (MVector s (Quaternion a))

Binary a => Binary (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

put :: Quaternion a -> Put

get :: Get (Quaternion a)

putList :: [Quaternion a] -> Put

Serial a => Serial (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

serialize :: MonadPut m => Quaternion a -> m ()

deserialize :: MonadGet m => m (Quaternion a)

Serialize a => Serialize (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

put :: Putter (Quaternion a)

get :: Get (Quaternion a)

NFData a => NFData (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

rnf :: Quaternion a -> ()

Monoid a => Monoid (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Semigroup a => Semigroup (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

(<>) :: Quaternion a -> Quaternion a -> Quaternion a

sconcat :: NonEmpty (Quaternion a) -> Quaternion a

stimes :: Integral b => b -> Quaternion a -> Quaternion a

Data a => Data (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Quaternion a -> c (Quaternion a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Quaternion a)

toConstr :: Quaternion a -> Constr

dataTypeOf :: Quaternion a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Quaternion a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Quaternion a))

gmapT :: (forall b. Data b => b -> b) -> Quaternion a -> Quaternion a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Quaternion a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Quaternion a -> r

gmapQ :: (forall d. Data d => d -> u) -> Quaternion a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Quaternion a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Quaternion a -> m (Quaternion a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Quaternion a -> m (Quaternion a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Quaternion a -> m (Quaternion a)

RealFloat a => Floating (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Storable a => Storable (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

sizeOf :: Quaternion a -> Int

alignment :: Quaternion a -> Int

peekElemOff :: Ptr (Quaternion a) -> Int -> IO (Quaternion a)

pokeElemOff :: Ptr (Quaternion a) -> Int -> Quaternion a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (Quaternion a)

pokeByteOff :: Ptr b -> Int -> Quaternion a -> IO ()

peek :: Ptr (Quaternion a) -> IO (Quaternion a)

poke :: Ptr (Quaternion a) -> Quaternion a -> IO ()

Generic (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Associated Types

type Rep (Quaternion a) 
Instance details

Defined in Linear.Quaternion

type Rep (Quaternion a) = D1 ('MetaData "Quaternion" "Linear.Quaternion" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "Quaternion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 (V3 a))))

Methods

from :: Quaternion a -> Rep (Quaternion a) x

to :: Rep (Quaternion a) x -> Quaternion a

Ix a => Ix (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

RealFloat a => Num (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Read a => Read (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

readsPrec :: Int -> ReadS (Quaternion a)

readList :: ReadS [Quaternion a]

readPrec :: ReadPrec (Quaternion a)

readListPrec :: ReadPrec [Quaternion a]

RealFloat a => Fractional (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

(/) :: Quaternion a -> Quaternion a -> Quaternion a

recip :: Quaternion a -> Quaternion a

fromRational :: Rational -> Quaternion a

Show a => Show (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

showsPrec :: Int -> Quaternion a -> ShowS

show :: Quaternion a -> String

showList :: [Quaternion a] -> ShowS

Eq a => Eq (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

(==) :: Quaternion a -> Quaternion a -> Bool

(/=) :: Quaternion a -> Quaternion a -> Bool

Ord a => Ord (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

compare :: Quaternion a -> Quaternion a -> Ordering

(<) :: Quaternion a -> Quaternion a -> Bool

(<=) :: Quaternion a -> Quaternion a -> Bool

(>) :: Quaternion a -> Quaternion a -> Bool

(>=) :: Quaternion a -> Quaternion a -> Bool

max :: Quaternion a -> Quaternion a -> Quaternion a

min :: Quaternion a -> Quaternion a -> Quaternion a

Hashable a => Hashable (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

hashWithSalt :: Int -> Quaternion a -> Int

hash :: Quaternion a -> Int

Ixed (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

ix :: Index (Quaternion a) -> Traversal' (Quaternion a) (IxValue (Quaternion a))

(Conjugate a, RealFloat a) => Conjugate (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

conjugate :: Quaternion a -> Quaternion a #

(RealFloat a, Epsilon a) => Epsilon (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

nearZero :: Quaternion a -> Bool #

Random a => Random (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

randomR :: RandomGen g => (Quaternion a, Quaternion a) -> g -> (Quaternion a, g)

random :: RandomGen g => g -> (Quaternion a, g)

randomRs :: RandomGen g => (Quaternion a, Quaternion a) -> g -> [Quaternion a]

randoms :: RandomGen g => g -> [Quaternion a]

Uniform a => Uniform (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

uniformM :: StatefulGen g m => g -> m (Quaternion a)

UniformRange a => UniformRange (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

uniformRM :: StatefulGen g m => (Quaternion a, Quaternion a) -> g -> m (Quaternion a)

isInRange :: (Quaternion a, Quaternion a) -> Quaternion a -> Bool

Unbox a => Unbox (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

FoldableWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

ifoldMap :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m

ifoldMap' :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m

ifoldr :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b

ifoldl :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b

ifoldr' :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b

ifoldl' :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b

FunctorWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

imap :: (E Quaternion -> a -> b) -> Quaternion a -> Quaternion b

TraversableWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

itraverse :: Applicative f => (E Quaternion -> a -> f b) -> Quaternion a -> f (Quaternion b)

Each (Quaternion a) (Quaternion b) a b # 
Instance details

Defined in Linear.Quaternion

Methods

each :: Traversal (Quaternion a) (Quaternion b) a b

Field1 (Quaternion a) (Quaternion a) a a # 
Instance details

Defined in Linear.Quaternion

Methods

_1 :: Lens (Quaternion a) (Quaternion a) a a

Field2 (Quaternion a) (Quaternion a) a a # 
Instance details

Defined in Linear.Quaternion

Methods

_2 :: Lens (Quaternion a) (Quaternion a) a a

Field3 (Quaternion a) (Quaternion a) a a # 
Instance details

Defined in Linear.Quaternion

Methods

_3 :: Lens (Quaternion a) (Quaternion a) a a

Field4 (Quaternion a) (Quaternion a) a a # 
Instance details

Defined in Linear.Quaternion

Methods

_4 :: Lens (Quaternion a) (Quaternion a) a a

type Rep Quaternion # 
Instance details

Defined in Linear.Quaternion

type Diff Quaternion # 
Instance details

Defined in Linear.Affine

type Size Quaternion # 
Instance details

Defined in Linear.Quaternion

type Size Quaternion = 4
type Rep1 Quaternion # 
Instance details

Defined in Linear.Quaternion

type Rep1 Quaternion = D1 ('MetaData "Quaternion" "Linear.Quaternion" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "Quaternion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec1 V3)))
data MVector s (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

data MVector s (Quaternion a) = MV_Quaternion !Int (MVector s a)
type Rep (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

type Rep (Quaternion a) = D1 ('MetaData "Quaternion" "Linear.Quaternion" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "Quaternion" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 (V3 a))))
type Index (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

type Index (Quaternion a) = E Quaternion
type IxValue (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

type IxValue (Quaternion a) = a
data Vector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

data Vector (Quaternion a) = V_Quaternion !Int (Vector a)

class Functor m => Trace (m :: Type -> Type) where #

Minimal complete definition

Nothing

Methods

trace :: Num a => m (m a) -> a #

diagonal :: m (m a) -> m a #

Instances

Instances details
Trace Complex # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Complex (Complex a) -> a #

diagonal :: Complex (Complex a) -> Complex a #

Trace IntMap # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => IntMap (IntMap a) -> a #

diagonal :: IntMap (IntMap a) -> IntMap a #

Trace Plucker # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Plucker (Plucker a) -> a #

diagonal :: Plucker (Plucker a) -> Plucker a #

Trace Quaternion # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Quaternion (Quaternion a) -> a #

diagonal :: Quaternion (Quaternion a) -> Quaternion a #

Trace V0 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V0 (V0 a) -> a #

diagonal :: V0 (V0 a) -> V0 a #

Trace V1 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V1 (V1 a) -> a #

diagonal :: V1 (V1 a) -> V1 a #

Trace V2 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V2 (V2 a) -> a #

diagonal :: V2 (V2 a) -> V2 a #

Trace V3 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V3 (V3 a) -> a #

diagonal :: V3 (V3 a) -> V3 a #

Trace V4 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V4 (V4 a) -> a #

diagonal :: V4 (V4 a) -> V4 a #

Ord k => Trace (Map k) # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Map k (Map k a) -> a #

diagonal :: Map k (Map k a) -> Map k a #

(Eq k, Hashable k) => Trace (HashMap k) # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => HashMap k (HashMap k a) -> a #

diagonal :: HashMap k (HashMap k a) -> HashMap k a #

Dim n => Trace (V n) # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V n (V n a) -> a #

diagonal :: V n (V n a) -> V n a #

(Trace f, Trace g) => Trace (Product f g) # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Product f g (Product f g a) -> a #

diagonal :: Product f g (Product f g a) -> Product f g a #

(Distributive g, Trace g, Trace f) => Trace (Compose g f) # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => Compose g f (Compose g f a) -> a #

diagonal :: Compose g f (Compose g f a) -> Compose g f a #

data V0 a #

Constructors

V0 

Instances

Instances details
Representable V0 # 
Instance details

Defined in Linear.V0

Associated Types

type Rep V0 
Instance details

Defined in Linear.V0

type Rep V0 = E V0

Methods

tabulate :: (Rep V0 -> a) -> V0 a

index :: V0 a -> Rep V0 -> a

Eq1 V0 # 
Instance details

Defined in Linear.V0

Methods

liftEq :: (a -> b -> Bool) -> V0 a -> V0 b -> Bool

Ord1 V0 # 
Instance details

Defined in Linear.V0

Methods

liftCompare :: (a -> b -> Ordering) -> V0 a -> V0 b -> Ordering

Read1 V0 # 
Instance details

Defined in Linear.V0

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V0 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V0 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V0 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V0 a]

Show1 V0 # 
Instance details

Defined in Linear.V0

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V0 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V0 a] -> ShowS

Serial1 V0 # 
Instance details

Defined in Linear.V0

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V0 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V0 a)

Distributive V0 # 
Instance details

Defined in Linear.V0

Methods

distribute :: Functor f => f (V0 a) -> V0 (f a)

collect :: Functor f => (a -> V0 b) -> f a -> V0 (f b)

distributeM :: Monad m => m (V0 a) -> V0 (m a)

collectM :: Monad m => (a -> V0 b) -> m a -> V0 (m b)

Applicative V0 # 
Instance details

Defined in Linear.V0

Methods

pure :: a -> V0 a

(<*>) :: V0 (a -> b) -> V0 a -> V0 b

liftA2 :: (a -> b -> c) -> V0 a -> V0 b -> V0 c

(*>) :: V0 a -> V0 b -> V0 b

(<*) :: V0 a -> V0 b -> V0 a

Functor V0 # 
Instance details

Defined in Linear.V0

Methods

fmap :: (a -> b) -> V0 a -> V0 b

(<$) :: a -> V0 b -> V0 a

Monad V0 # 
Instance details

Defined in Linear.V0

Methods

(>>=) :: V0 a -> (a -> V0 b) -> V0 b

(>>) :: V0 a -> V0 b -> V0 b

return :: a -> V0 a

MonadFix V0 # 
Instance details

Defined in Linear.V0

Methods

mfix :: (a -> V0 a) -> V0 a

MonadZip V0 # 
Instance details

Defined in Linear.V0

Methods

mzip :: V0 a -> V0 b -> V0 (a, b)

mzipWith :: (a -> b -> c) -> V0 a -> V0 b -> V0 c

munzip :: V0 (a, b) -> (V0 a, V0 b)

Foldable V0 # 
Instance details

Defined in Linear.V0

Methods

fold :: Monoid m => V0 m -> m

foldMap :: Monoid m => (a -> m) -> V0 a -> m

foldMap' :: Monoid m => (a -> m) -> V0 a -> m

foldr :: (a -> b -> b) -> b -> V0 a -> b

foldr' :: (a -> b -> b) -> b -> V0 a -> b

foldl :: (b -> a -> b) -> b -> V0 a -> b

foldl' :: (b -> a -> b) -> b -> V0 a -> b

foldr1 :: (a -> a -> a) -> V0 a -> a

foldl1 :: (a -> a -> a) -> V0 a -> a

toList :: V0 a -> [a]

null :: V0 a -> Bool

length :: V0 a -> Int

elem :: Eq a => a -> V0 a -> Bool

maximum :: Ord a => V0 a -> a

minimum :: Ord a => V0 a -> a

sum :: Num a => V0 a -> a

product :: Num a => V0 a -> a

Traversable V0 # 
Instance details

Defined in Linear.V0

Methods

traverse :: Applicative f => (a -> f b) -> V0 a -> f (V0 b)

sequenceA :: Applicative f => V0 (f a) -> f (V0 a)

mapM :: Monad m => (a -> m b) -> V0 a -> m (V0 b)

sequence :: Monad m => V0 (m a) -> m (V0 a)

Hashable1 V0 # 
Instance details

Defined in Linear.V0

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V0 a -> Int

Affine V0 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V0 
Instance details

Defined in Linear.Affine

type Diff V0 = V0

Methods

(.-.) :: Num a => V0 a -> V0 a -> Diff V0 a #

(.+^) :: Num a => V0 a -> Diff V0 a -> V0 a #

(.-^) :: Num a => V0 a -> Diff V0 a -> V0 a #

Metric V0 # 
Instance details

Defined in Linear.V0

Methods

dot :: Num a => V0 a -> V0 a -> a #

quadrance :: Num a => V0 a -> a #

qd :: Num a => V0 a -> V0 a -> a #

distance :: Floating a => V0 a -> V0 a -> a #

norm :: Floating a => V0 a -> a #

signorm :: Floating a => V0 a -> V0 a #

Trace V0 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V0 (V0 a) -> a #

diagonal :: V0 (V0 a) -> V0 a #

Finite V0 # 
Instance details

Defined in Linear.V0

Associated Types

type Size V0 
Instance details

Defined in Linear.V0

type Size V0 = 0

Methods

toV :: V0 a -> V (Size V0) a

fromV :: V (Size V0) a -> V0 a

Additive V0 # 
Instance details

Defined in Linear.V0

Methods

zero :: Num a => V0 a #

(^+^) :: Num a => V0 a -> V0 a -> V0 a #

(^-^) :: Num a => V0 a -> V0 a -> V0 a #

lerp :: Num a => a -> V0 a -> V0 a -> V0 a #

liftU2 :: (a -> a -> a) -> V0 a -> V0 a -> V0 a #

liftI2 :: (a -> b -> c) -> V0 a -> V0 b -> V0 c #

Apply V0 # 
Instance details

Defined in Linear.V0

Methods

(<.>) :: V0 (a -> b) -> V0 a -> V0 b

(.>) :: V0 a -> V0 b -> V0 b

(<.) :: V0 a -> V0 b -> V0 a

liftF2 :: (a -> b -> c) -> V0 a -> V0 b -> V0 c

Bind V0 # 
Instance details

Defined in Linear.V0

Methods

(>>-) :: V0 a -> (a -> V0 b) -> V0 b

join :: V0 (V0 a) -> V0 a

Generic1 V0 # 
Instance details

Defined in Linear.V0

Associated Types

type Rep1 V0 
Instance details

Defined in Linear.V0

type Rep1 V0 = D1 ('MetaData "V0" "Linear.V0" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V0" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from1 :: V0 a -> Rep1 V0 a

to1 :: Rep1 V0 a -> V0 a

Lift (V0 a :: Type) # 
Instance details

Defined in Linear.V0

Methods

lift :: Quote m => V0 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V0 a -> Code m (V0 a)

Num r => Algebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V0 -> E V0 -> r) -> E V0 -> r #

unital :: r -> E V0 -> r #

Num r => Coalgebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V0 -> r) -> E V0 -> E V0 -> r #

counital :: (E V0 -> r) -> r #

Vector Vector (V0 a) # 
Instance details

Defined in Linear.V0

Methods

basicUnsafeFreeze :: Mutable Vector s (V0 a) -> ST s (Vector (V0 a))

basicUnsafeThaw :: Vector (V0 a) -> ST s (Mutable Vector s (V0 a))

basicLength :: Vector (V0 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V0 a) -> Vector (V0 a)

basicUnsafeIndexM :: Vector (V0 a) -> Int -> Box (V0 a)

basicUnsafeCopy :: Mutable Vector s (V0 a) -> Vector (V0 a) -> ST s ()

elemseq :: Vector (V0 a) -> V0 a -> b -> b

MVector MVector (V0 a) # 
Instance details

Defined in Linear.V0

Methods

basicLength :: MVector s (V0 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V0 a) -> MVector s (V0 a)

basicOverlaps :: MVector s (V0 a) -> MVector s (V0 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V0 a))

basicInitialize :: MVector s (V0 a) -> ST s ()

basicUnsafeReplicate :: Int -> V0 a -> ST s (MVector s (V0 a))

basicUnsafeRead :: MVector s (V0 a) -> Int -> ST s (V0 a)

basicUnsafeWrite :: MVector s (V0 a) -> Int -> V0 a -> ST s ()

basicClear :: MVector s (V0 a) -> ST s ()

basicSet :: MVector s (V0 a) -> V0 a -> ST s ()

basicUnsafeCopy :: MVector s (V0 a) -> MVector s (V0 a) -> ST s ()

basicUnsafeMove :: MVector s (V0 a) -> MVector s (V0 a) -> ST s ()

basicUnsafeGrow :: MVector s (V0 a) -> Int -> ST s (MVector s (V0 a))

Binary (V0 a) # 
Instance details

Defined in Linear.V0

Methods

put :: V0 a -> Put

get :: Get (V0 a)

putList :: [V0 a] -> Put

Serial (V0 a) # 
Instance details

Defined in Linear.V0

Methods

serialize :: MonadPut m => V0 a -> m ()

deserialize :: MonadGet m => m (V0 a)

Serialize (V0 a) # 
Instance details

Defined in Linear.V0

Methods

put :: Putter (V0 a)

get :: Get (V0 a)

NFData (V0 a) # 
Instance details

Defined in Linear.V0

Methods

rnf :: V0 a -> ()

Monoid (V0 a) # 
Instance details

Defined in Linear.V0

Methods

mempty :: V0 a

mappend :: V0 a -> V0 a -> V0 a

mconcat :: [V0 a] -> V0 a

Semigroup (V0 a) # 
Instance details

Defined in Linear.V0

Methods

(<>) :: V0 a -> V0 a -> V0 a

sconcat :: NonEmpty (V0 a) -> V0 a

stimes :: Integral b => b -> V0 a -> V0 a

Data a => Data (V0 a) # 
Instance details

Defined in Linear.V0

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V0 a -> c (V0 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V0 a)

toConstr :: V0 a -> Constr

dataTypeOf :: V0 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V0 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V0 a))

gmapT :: (forall b. Data b => b -> b) -> V0 a -> V0 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V0 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V0 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V0 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V0 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V0 a -> m (V0 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V0 a -> m (V0 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V0 a -> m (V0 a)

Bounded (V0 a) # 
Instance details

Defined in Linear.V0

Methods

minBound :: V0 a

maxBound :: V0 a

Enum (V0 a) # 
Instance details

Defined in Linear.V0

Methods

succ :: V0 a -> V0 a

pred :: V0 a -> V0 a

toEnum :: Int -> V0 a

fromEnum :: V0 a -> Int

enumFrom :: V0 a -> [V0 a]

enumFromThen :: V0 a -> V0 a -> [V0 a]

enumFromTo :: V0 a -> V0 a -> [V0 a]

enumFromThenTo :: V0 a -> V0 a -> V0 a -> [V0 a]

Floating (V0 a) # 
Instance details

Defined in Linear.V0

Methods

pi :: V0 a

exp :: V0 a -> V0 a

log :: V0 a -> V0 a

sqrt :: V0 a -> V0 a

(**) :: V0 a -> V0 a -> V0 a

logBase :: V0 a -> V0 a -> V0 a

sin :: V0 a -> V0 a

cos :: V0 a -> V0 a

tan :: V0 a -> V0 a

asin :: V0 a -> V0 a

acos :: V0 a -> V0 a

atan :: V0 a -> V0 a

sinh :: V0 a -> V0 a

cosh :: V0 a -> V0 a

tanh :: V0 a -> V0 a

asinh :: V0 a -> V0 a

acosh :: V0 a -> V0 a

atanh :: V0 a -> V0 a

log1p :: V0 a -> V0 a

expm1 :: V0 a -> V0 a

log1pexp :: V0 a -> V0 a

log1mexp :: V0 a -> V0 a

Storable (V0 a) # 
Instance details

Defined in Linear.V0

Methods

sizeOf :: V0 a -> Int

alignment :: V0 a -> Int

peekElemOff :: Ptr (V0 a) -> Int -> IO (V0 a)

pokeElemOff :: Ptr (V0 a) -> Int -> V0 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V0 a)

pokeByteOff :: Ptr b -> Int -> V0 a -> IO ()

peek :: Ptr (V0 a) -> IO (V0 a)

poke :: Ptr (V0 a) -> V0 a -> IO ()

Generic (V0 a) # 
Instance details

Defined in Linear.V0

Associated Types

type Rep (V0 a) 
Instance details

Defined in Linear.V0

type Rep (V0 a) = D1 ('MetaData "V0" "Linear.V0" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V0" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: V0 a -> Rep (V0 a) x

to :: Rep (V0 a) x -> V0 a

Ix (V0 a) # 
Instance details

Defined in Linear.V0

Methods

range :: (V0 a, V0 a) -> [V0 a]

index :: (V0 a, V0 a) -> V0 a -> Int

unsafeIndex :: (V0 a, V0 a) -> V0 a -> Int

inRange :: (V0 a, V0 a) -> V0 a -> Bool

rangeSize :: (V0 a, V0 a) -> Int

unsafeRangeSize :: (V0 a, V0 a) -> Int

Num (V0 a) # 
Instance details

Defined in Linear.V0

Methods

(+) :: V0 a -> V0 a -> V0 a

(-) :: V0 a -> V0 a -> V0 a

(*) :: V0 a -> V0 a -> V0 a

negate :: V0 a -> V0 a

abs :: V0 a -> V0 a

signum :: V0 a -> V0 a

fromInteger :: Integer -> V0 a

Read (V0 a) # 
Instance details

Defined in Linear.V0

Methods

readsPrec :: Int -> ReadS (V0 a)

readList :: ReadS [V0 a]

readPrec :: ReadPrec (V0 a)

readListPrec :: ReadPrec [V0 a]

Fractional (V0 a) # 
Instance details

Defined in Linear.V0

Methods

(/) :: V0 a -> V0 a -> V0 a

recip :: V0 a -> V0 a

fromRational :: Rational -> V0 a

Show (V0 a) # 
Instance details

Defined in Linear.V0

Methods

showsPrec :: Int -> V0 a -> ShowS

show :: V0 a -> String

showList :: [V0 a] -> ShowS

Eq (V0 a) # 
Instance details

Defined in Linear.V0

Methods

(==) :: V0 a -> V0 a -> Bool

(/=) :: V0 a -> V0 a -> Bool

Ord (V0 a) # 
Instance details

Defined in Linear.V0

Methods

compare :: V0 a -> V0 a -> Ordering

(<) :: V0 a -> V0 a -> Bool

(<=) :: V0 a -> V0 a -> Bool

(>) :: V0 a -> V0 a -> Bool

(>=) :: V0 a -> V0 a -> Bool

max :: V0 a -> V0 a -> V0 a

min :: V0 a -> V0 a -> V0 a

Hashable (V0 a) # 
Instance details

Defined in Linear.V0

Methods

hashWithSalt :: Int -> V0 a -> Int

hash :: V0 a -> Int

Ixed (V0 a) # 
Instance details

Defined in Linear.V0

Methods

ix :: Index (V0 a) -> Traversal' (V0 a) (IxValue (V0 a))

Epsilon (V0 a) # 
Instance details

Defined in Linear.V0

Methods

nearZero :: V0 a -> Bool #

Random (V0 a) # 
Instance details

Defined in Linear.V0

Methods

randomR :: RandomGen g => (V0 a, V0 a) -> g -> (V0 a, g)

random :: RandomGen g => g -> (V0 a, g)

randomRs :: RandomGen g => (V0 a, V0 a) -> g -> [V0 a]

randoms :: RandomGen g => g -> [V0 a]

Uniform (V0 a) # 
Instance details

Defined in Linear.V0

Methods

uniformM :: StatefulGen g m => g -> m (V0 a)

UniformRange (V0 a) # 
Instance details

Defined in Linear.V0

Methods

uniformRM :: StatefulGen g m => (V0 a, V0 a) -> g -> m (V0 a)

isInRange :: (V0 a, V0 a) -> V0 a -> Bool

Unbox (V0 a) # 
Instance details

Defined in Linear.V0

FoldableWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

ifoldMap :: Monoid m => (E V0 -> a -> m) -> V0 a -> m

ifoldMap' :: Monoid m => (E V0 -> a -> m) -> V0 a -> m

ifoldr :: (E V0 -> a -> b -> b) -> b -> V0 a -> b

ifoldl :: (E V0 -> b -> a -> b) -> b -> V0 a -> b

ifoldr' :: (E V0 -> a -> b -> b) -> b -> V0 a -> b

ifoldl' :: (E V0 -> b -> a -> b) -> b -> V0 a -> b

FunctorWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

imap :: (E V0 -> a -> b) -> V0 a -> V0 b

TraversableWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

itraverse :: Applicative f => (E V0 -> a -> f b) -> V0 a -> f (V0 b)

Each (V0 a) (V0 b) a b # 
Instance details

Defined in Linear.V0

Methods

each :: Traversal (V0 a) (V0 b) a b

type Rep V0 # 
Instance details

Defined in Linear.V0

type Rep V0 = E V0
type Diff V0 # 
Instance details

Defined in Linear.Affine

type Diff V0 = V0
type Size V0 # 
Instance details

Defined in Linear.V0

type Size V0 = 0
type Rep1 V0 # 
Instance details

Defined in Linear.V0

type Rep1 V0 = D1 ('MetaData "V0" "Linear.V0" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V0" 'PrefixI 'False) (U1 :: Type -> Type))
newtype MVector s (V0 a) # 
Instance details

Defined in Linear.V0

newtype MVector s (V0 a) = MV_V0 Int
type Rep (V0 a) # 
Instance details

Defined in Linear.V0

type Rep (V0 a) = D1 ('MetaData "V0" "Linear.V0" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V0" 'PrefixI 'False) (U1 :: Type -> Type))
type Index (V0 a) # 
Instance details

Defined in Linear.V0

type Index (V0 a) = E V0
type IxValue (V0 a) # 
Instance details

Defined in Linear.V0

type IxValue (V0 a) = a
newtype Vector (V0 a) # 
Instance details

Defined in Linear.V0

newtype Vector (V0 a) = V_V0 Int

class R1 (t :: Type -> Type) where #

Methods

_x :: Lens' (t a) a #

Instances

Instances details
R1 Identity # 
Instance details

Defined in Linear.V1

Methods

_x :: Lens' (Identity a) a #

R1 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_x :: Lens' (Quaternion a) a #

R1 V1 # 
Instance details

Defined in Linear.V1

Methods

_x :: Lens' (V1 a) a #

R1 V2 # 
Instance details

Defined in Linear.V2

Methods

_x :: Lens' (V2 a) a #

R1 V3 # 
Instance details

Defined in Linear.V3

Methods

_x :: Lens' (V3 a) a #

R1 V4 # 
Instance details

Defined in Linear.V4

Methods

_x :: Lens' (V4 a) a #

R1 f => R1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_x :: Lens' (Point f a) a #

newtype V1 a #

Constructors

V1 a 

Instances

Instances details
Representable V1 # 
Instance details

Defined in Linear.V1

Associated Types

type Rep V1 
Instance details

Defined in Linear.V1

type Rep V1 = E V1

Methods

tabulate :: (Rep V1 -> a) -> V1 a

index :: V1 a -> Rep V1 -> a

Foldable1 V1 # 
Instance details

Defined in Linear.V1

Methods

fold1 :: Semigroup m => V1 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V1 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V1 a -> m

toNonEmpty :: V1 a -> NonEmpty a

maximum :: Ord a => V1 a -> a

minimum :: Ord a => V1 a -> a

head :: V1 a -> a

last :: V1 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V1 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V1 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V1 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V1 a -> b

Eq1 V1 # 
Instance details

Defined in Linear.V1

Methods

liftEq :: (a -> b -> Bool) -> V1 a -> V1 b -> Bool

Ord1 V1 # 
Instance details

Defined in Linear.V1

Methods

liftCompare :: (a -> b -> Ordering) -> V1 a -> V1 b -> Ordering

Read1 V1 # 
Instance details

Defined in Linear.V1

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V1 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V1 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V1 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V1 a]

Show1 V1 # 
Instance details

Defined in Linear.V1

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V1 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V1 a] -> ShowS

Serial1 V1 # 
Instance details

Defined in Linear.V1

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V1 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V1 a)

Distributive V1 # 
Instance details

Defined in Linear.V1

Methods

distribute :: Functor f => f (V1 a) -> V1 (f a)

collect :: Functor f => (a -> V1 b) -> f a -> V1 (f b)

distributeM :: Monad m => m (V1 a) -> V1 (m a)

collectM :: Monad m => (a -> V1 b) -> m a -> V1 (m b)

Applicative V1 # 
Instance details

Defined in Linear.V1

Methods

pure :: a -> V1 a

(<*>) :: V1 (a -> b) -> V1 a -> V1 b

liftA2 :: (a -> b -> c) -> V1 a -> V1 b -> V1 c

(*>) :: V1 a -> V1 b -> V1 b

(<*) :: V1 a -> V1 b -> V1 a

Functor V1 # 
Instance details

Defined in Linear.V1

Methods

fmap :: (a -> b) -> V1 a -> V1 b

(<$) :: a -> V1 b -> V1 a

Monad V1 # 
Instance details

Defined in Linear.V1

Methods

(>>=) :: V1 a -> (a -> V1 b) -> V1 b

(>>) :: V1 a -> V1 b -> V1 b

return :: a -> V1 a

MonadFix V1 # 
Instance details

Defined in Linear.V1

Methods

mfix :: (a -> V1 a) -> V1 a

MonadZip V1 # 
Instance details

Defined in Linear.V1

Methods

mzip :: V1 a -> V1 b -> V1 (a, b)

mzipWith :: (a -> b -> c) -> V1 a -> V1 b -> V1 c

munzip :: V1 (a, b) -> (V1 a, V1 b)

Foldable V1 # 
Instance details

Defined in Linear.V1

Methods

fold :: Monoid m => V1 m -> m

foldMap :: Monoid m => (a -> m) -> V1 a -> m

foldMap' :: Monoid m => (a -> m) -> V1 a -> m

foldr :: (a -> b -> b) -> b -> V1 a -> b

foldr' :: (a -> b -> b) -> b -> V1 a -> b

foldl :: (b -> a -> b) -> b -> V1 a -> b

foldl' :: (b -> a -> b) -> b -> V1 a -> b

foldr1 :: (a -> a -> a) -> V1 a -> a

foldl1 :: (a -> a -> a) -> V1 a -> a

toList :: V1 a -> [a]

null :: V1 a -> Bool

length :: V1 a -> Int

elem :: Eq a => a -> V1 a -> Bool

maximum :: Ord a => V1 a -> a

minimum :: Ord a => V1 a -> a

sum :: Num a => V1 a -> a

product :: Num a => V1 a -> a

Traversable V1 # 
Instance details

Defined in Linear.V1

Methods

traverse :: Applicative f => (a -> f b) -> V1 a -> f (V1 b)

sequenceA :: Applicative f => V1 (f a) -> f (V1 a)

mapM :: Monad m => (a -> m b) -> V1 a -> m (V1 b)

sequence :: Monad m => V1 (m a) -> m (V1 a)

Hashable1 V1 # 
Instance details

Defined in Linear.V1

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V1 a -> Int

Affine V1 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V1 
Instance details

Defined in Linear.Affine

type Diff V1 = V1

Methods

(.-.) :: Num a => V1 a -> V1 a -> Diff V1 a #

(.+^) :: Num a => V1 a -> Diff V1 a -> V1 a #

(.-^) :: Num a => V1 a -> Diff V1 a -> V1 a #

Metric V1 # 
Instance details

Defined in Linear.V1

Methods

dot :: Num a => V1 a -> V1 a -> a #

quadrance :: Num a => V1 a -> a #

qd :: Num a => V1 a -> V1 a -> a #

distance :: Floating a => V1 a -> V1 a -> a #

norm :: Floating a => V1 a -> a #

signorm :: Floating a => V1 a -> V1 a #

Trace V1 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V1 (V1 a) -> a #

diagonal :: V1 (V1 a) -> V1 a #

Finite V1 # 
Instance details

Defined in Linear.V1

Associated Types

type Size V1 
Instance details

Defined in Linear.V1

type Size V1 = 1

Methods

toV :: V1 a -> V (Size V1) a

fromV :: V (Size V1) a -> V1 a

R1 V1 # 
Instance details

Defined in Linear.V1

Methods

_x :: Lens' (V1 a) a #

Additive V1 # 
Instance details

Defined in Linear.V1

Methods

zero :: Num a => V1 a #

(^+^) :: Num a => V1 a -> V1 a -> V1 a #

(^-^) :: Num a => V1 a -> V1 a -> V1 a #

lerp :: Num a => a -> V1 a -> V1 a -> V1 a #

liftU2 :: (a -> a -> a) -> V1 a -> V1 a -> V1 a #

liftI2 :: (a -> b -> c) -> V1 a -> V1 b -> V1 c #

Apply V1 # 
Instance details

Defined in Linear.V1

Methods

(<.>) :: V1 (a -> b) -> V1 a -> V1 b

(.>) :: V1 a -> V1 b -> V1 b

(<.) :: V1 a -> V1 b -> V1 a

liftF2 :: (a -> b -> c) -> V1 a -> V1 b -> V1 c

Bind V1 # 
Instance details

Defined in Linear.V1

Methods

(>>-) :: V1 a -> (a -> V1 b) -> V1 b

join :: V1 (V1 a) -> V1 a

Traversable1 V1 # 
Instance details

Defined in Linear.V1

Methods

traverse1 :: Apply f => (a -> f b) -> V1 a -> f (V1 b)

sequence1 :: Apply f => V1 (f b) -> f (V1 b)

Generic1 V1 # 
Instance details

Defined in Linear.V1

Associated Types

type Rep1 V1 
Instance details

Defined in Linear.V1

type Rep1 V1 = D1 ('MetaData "V1" "Linear.V1" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "V1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))

Methods

from1 :: V1 a -> Rep1 V1 a

to1 :: Rep1 V1 a -> V1 a

Lift a => Lift (V1 a :: Type) # 
Instance details

Defined in Linear.V1

Methods

lift :: Quote m => V1 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V1 a -> Code m (V1 a)

Num r => Algebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V1 -> E V1 -> r) -> E V1 -> r #

unital :: r -> E V1 -> r #

Num r => Coalgebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V1 -> r) -> E V1 -> E V1 -> r #

counital :: (E V1 -> r) -> r #

Unbox a => Vector Vector (V1 a) # 
Instance details

Defined in Linear.V1

Methods

basicUnsafeFreeze :: Mutable Vector s (V1 a) -> ST s (Vector (V1 a))

basicUnsafeThaw :: Vector (V1 a) -> ST s (Mutable Vector s (V1 a))

basicLength :: Vector (V1 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V1 a) -> Vector (V1 a)

basicUnsafeIndexM :: Vector (V1 a) -> Int -> Box (V1 a)

basicUnsafeCopy :: Mutable Vector s (V1 a) -> Vector (V1 a) -> ST s ()

elemseq :: Vector (V1 a) -> V1 a -> b -> b

Unbox a => MVector MVector (V1 a) # 
Instance details

Defined in Linear.V1

Methods

basicLength :: MVector s (V1 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V1 a) -> MVector s (V1 a)

basicOverlaps :: MVector s (V1 a) -> MVector s (V1 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V1 a))

basicInitialize :: MVector s (V1 a) -> ST s ()

basicUnsafeReplicate :: Int -> V1 a -> ST s (MVector s (V1 a))

basicUnsafeRead :: MVector s (V1 a) -> Int -> ST s (V1 a)

basicUnsafeWrite :: MVector s (V1 a) -> Int -> V1 a -> ST s ()

basicClear :: MVector s (V1 a) -> ST s ()

basicSet :: MVector s (V1 a) -> V1 a -> ST s ()

basicUnsafeCopy :: MVector s (V1 a) -> MVector s (V1 a) -> ST s ()

basicUnsafeMove :: MVector s (V1 a) -> MVector s (V1 a) -> ST s ()

basicUnsafeGrow :: MVector s (V1 a) -> Int -> ST s (MVector s (V1 a))

Binary a => Binary (V1 a) # 
Instance details

Defined in Linear.V1

Methods

put :: V1 a -> Put

get :: Get (V1 a)

putList :: [V1 a] -> Put

Serial a => Serial (V1 a) # 
Instance details

Defined in Linear.V1

Methods

serialize :: MonadPut m => V1 a -> m ()

deserialize :: MonadGet m => m (V1 a)

Serialize a => Serialize (V1 a) # 
Instance details

Defined in Linear.V1

Methods

put :: Putter (V1 a)

get :: Get (V1 a)

NFData a => NFData (V1 a) # 
Instance details

Defined in Linear.V1

Methods

rnf :: V1 a -> ()

Monoid a => Monoid (V1 a) # 
Instance details

Defined in Linear.V1

Methods

mempty :: V1 a

mappend :: V1 a -> V1 a -> V1 a

mconcat :: [V1 a] -> V1 a

Semigroup a => Semigroup (V1 a) # 
Instance details

Defined in Linear.V1

Methods

(<>) :: V1 a -> V1 a -> V1 a

sconcat :: NonEmpty (V1 a) -> V1 a

stimes :: Integral b => b -> V1 a -> V1 a

Data a => Data (V1 a) # 
Instance details

Defined in Linear.V1

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V1 a -> c (V1 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V1 a)

toConstr :: V1 a -> Constr

dataTypeOf :: V1 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V1 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V1 a))

gmapT :: (forall b. Data b => b -> b) -> V1 a -> V1 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V1 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V1 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V1 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V1 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V1 a -> m (V1 a)

Bounded a => Bounded (V1 a) # 
Instance details

Defined in Linear.V1

Methods

minBound :: V1 a

maxBound :: V1 a

Floating a => Floating (V1 a) # 
Instance details

Defined in Linear.V1

Methods

pi :: V1 a

exp :: V1 a -> V1 a

log :: V1 a -> V1 a

sqrt :: V1 a -> V1 a

(**) :: V1 a -> V1 a -> V1 a

logBase :: V1 a -> V1 a -> V1 a

sin :: V1 a -> V1 a

cos :: V1 a -> V1 a

tan :: V1 a -> V1 a

asin :: V1 a -> V1 a

acos :: V1 a -> V1 a

atan :: V1 a -> V1 a

sinh :: V1 a -> V1 a

cosh :: V1 a -> V1 a

tanh :: V1 a -> V1 a

asinh :: V1 a -> V1 a

acosh :: V1 a -> V1 a

atanh :: V1 a -> V1 a

log1p :: V1 a -> V1 a

expm1 :: V1 a -> V1 a

log1pexp :: V1 a -> V1 a

log1mexp :: V1 a -> V1 a

Storable a => Storable (V1 a) # 
Instance details

Defined in Linear.V1

Methods

sizeOf :: V1 a -> Int

alignment :: V1 a -> Int

peekElemOff :: Ptr (V1 a) -> Int -> IO (V1 a)

pokeElemOff :: Ptr (V1 a) -> Int -> V1 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V1 a)

pokeByteOff :: Ptr b -> Int -> V1 a -> IO ()

peek :: Ptr (V1 a) -> IO (V1 a)

poke :: Ptr (V1 a) -> V1 a -> IO ()

Generic (V1 a) # 
Instance details

Defined in Linear.V1

Associated Types

type Rep (V1 a) 
Instance details

Defined in Linear.V1

type Rep (V1 a) = D1 ('MetaData "V1" "Linear.V1" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "V1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: V1 a -> Rep (V1 a) x

to :: Rep (V1 a) x -> V1 a

Ix a => Ix (V1 a) # 
Instance details

Defined in Linear.V1

Methods

range :: (V1 a, V1 a) -> [V1 a]

index :: (V1 a, V1 a) -> V1 a -> Int

unsafeIndex :: (V1 a, V1 a) -> V1 a -> Int

inRange :: (V1 a, V1 a) -> V1 a -> Bool

rangeSize :: (V1 a, V1 a) -> Int

unsafeRangeSize :: (V1 a, V1 a) -> Int

Num a => Num (V1 a) # 
Instance details

Defined in Linear.V1

Methods

(+) :: V1 a -> V1 a -> V1 a

(-) :: V1 a -> V1 a -> V1 a

(*) :: V1 a -> V1 a -> V1 a

negate :: V1 a -> V1 a

abs :: V1 a -> V1 a

signum :: V1 a -> V1 a

fromInteger :: Integer -> V1 a

Read a => Read (V1 a) # 
Instance details

Defined in Linear.V1

Methods

readsPrec :: Int -> ReadS (V1 a)

readList :: ReadS [V1 a]

readPrec :: ReadPrec (V1 a)

readListPrec :: ReadPrec [V1 a]

Fractional a => Fractional (V1 a) # 
Instance details

Defined in Linear.V1

Methods

(/) :: V1 a -> V1 a -> V1 a

recip :: V1 a -> V1 a

fromRational :: Rational -> V1 a

Show a => Show (V1 a) # 
Instance details

Defined in Linear.V1

Methods

showsPrec :: Int -> V1 a -> ShowS

show :: V1 a -> String

showList :: [V1 a] -> ShowS

Eq a => Eq (V1 a) # 
Instance details

Defined in Linear.V1

Methods

(==) :: V1 a -> V1 a -> Bool

(/=) :: V1 a -> V1 a -> Bool

Ord a => Ord (V1 a) # 
Instance details

Defined in Linear.V1

Methods

compare :: V1 a -> V1 a -> Ordering

(<) :: V1 a -> V1 a -> Bool

(<=) :: V1 a -> V1 a -> Bool

(>) :: V1 a -> V1 a -> Bool

(>=) :: V1 a -> V1 a -> Bool

max :: V1 a -> V1 a -> V1 a

min :: V1 a -> V1 a -> V1 a

Hashable a => Hashable (V1 a) # 
Instance details

Defined in Linear.V1

Methods

hashWithSalt :: Int -> V1 a -> Int

hash :: V1 a -> Int

Ixed (V1 a) # 
Instance details

Defined in Linear.V1

Methods

ix :: Index (V1 a) -> Traversal' (V1 a) (IxValue (V1 a))

Epsilon a => Epsilon (V1 a) # 
Instance details

Defined in Linear.V1

Methods

nearZero :: V1 a -> Bool #

Random a => Random (V1 a) # 
Instance details

Defined in Linear.V1

Methods

randomR :: RandomGen g => (V1 a, V1 a) -> g -> (V1 a, g)

random :: RandomGen g => g -> (V1 a, g)

randomRs :: RandomGen g => (V1 a, V1 a) -> g -> [V1 a]

randoms :: RandomGen g => g -> [V1 a]

Uniform a => Uniform (V1 a) # 
Instance details

Defined in Linear.V1

Methods

uniformM :: StatefulGen g m => g -> m (V1 a)

UniformRange a => UniformRange (V1 a) # 
Instance details

Defined in Linear.V1

Methods

uniformRM :: StatefulGen g m => (V1 a, V1 a) -> g -> m (V1 a)

isInRange :: (V1 a, V1 a) -> V1 a -> Bool

Unbox a => Unbox (V1 a) # 
Instance details

Defined in Linear.V1

FoldableWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

ifoldMap :: Monoid m => (E V1 -> a -> m) -> V1 a -> m

ifoldMap' :: Monoid m => (E V1 -> a -> m) -> V1 a -> m

ifoldr :: (E V1 -> a -> b -> b) -> b -> V1 a -> b

ifoldl :: (E V1 -> b -> a -> b) -> b -> V1 a -> b

ifoldr' :: (E V1 -> a -> b -> b) -> b -> V1 a -> b

ifoldl' :: (E V1 -> b -> a -> b) -> b -> V1 a -> b

FunctorWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

imap :: (E V1 -> a -> b) -> V1 a -> V1 b

TraversableWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

itraverse :: Applicative f => (E V1 -> a -> f b) -> V1 a -> f (V1 b)

Each (V1 a) (V1 b) a b # 
Instance details

Defined in Linear.V1

Methods

each :: Traversal (V1 a) (V1 b) a b

Field1 (V1 a) (V1 b) a b # 
Instance details

Defined in Linear.V1

Methods

_1 :: Lens (V1 a) (V1 b) a b

type Rep V1 # 
Instance details

Defined in Linear.V1

type Rep V1 = E V1
type Diff V1 # 
Instance details

Defined in Linear.Affine

type Diff V1 = V1
type Size V1 # 
Instance details

Defined in Linear.V1

type Size V1 = 1
type Rep1 V1 # 
Instance details

Defined in Linear.V1

type Rep1 V1 = D1 ('MetaData "V1" "Linear.V1" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "V1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))
newtype MVector s (V1 a) # 
Instance details

Defined in Linear.V1

newtype MVector s (V1 a) = MV_V1 (MVector s a)
type Rep (V1 a) # 
Instance details

Defined in Linear.V1

type Rep (V1 a) = D1 ('MetaData "V1" "Linear.V1" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "V1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))
type Index (V1 a) # 
Instance details

Defined in Linear.V1

type Index (V1 a) = E V1
type IxValue (V1 a) # 
Instance details

Defined in Linear.V1

type IxValue (V1 a) = a
newtype Vector (V1 a) # 
Instance details

Defined in Linear.V1

newtype Vector (V1 a) = V_V1 (Vector a)

class R1 t => R2 (t :: Type -> Type) where #

Minimal complete definition

_xy

Methods

_y :: Lens' (t a) a #

_xy :: Lens' (t a) (V2 a) #

Instances

Instances details
R2 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_y :: Lens' (Quaternion a) a #

_xy :: Lens' (Quaternion a) (V2 a) #

R2 V2 # 
Instance details

Defined in Linear.V2

Methods

_y :: Lens' (V2 a) a #

_xy :: Lens' (V2 a) (V2 a) #

R2 V3 # 
Instance details

Defined in Linear.V3

Methods

_y :: Lens' (V3 a) a #

_xy :: Lens' (V3 a) (V2 a) #

R2 V4 # 
Instance details

Defined in Linear.V4

Methods

_y :: Lens' (V4 a) a #

_xy :: Lens' (V4 a) (V2 a) #

R2 f => R2 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_y :: Lens' (Point f a) a #

_xy :: Lens' (Point f a) (V2 a) #

data V2 a #

Constructors

V2 !a !a 

Instances

Instances details
Representable V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Rep V2 
Instance details

Defined in Linear.V2

type Rep V2 = E V2

Methods

tabulate :: (Rep V2 -> a) -> V2 a

index :: V2 a -> Rep V2 -> a

Foldable1 V2 # 
Instance details

Defined in Linear.V2

Methods

fold1 :: Semigroup m => V2 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V2 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V2 a -> m

toNonEmpty :: V2 a -> NonEmpty a

maximum :: Ord a => V2 a -> a

minimum :: Ord a => V2 a -> a

head :: V2 a -> a

last :: V2 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V2 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V2 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V2 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V2 a -> b

Eq1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftEq :: (a -> b -> Bool) -> V2 a -> V2 b -> Bool

Ord1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftCompare :: (a -> b -> Ordering) -> V2 a -> V2 b -> Ordering

Read1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V2 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V2 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V2 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V2 a]

Show1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V2 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V2 a] -> ShowS

Serial1 V2 # 
Instance details

Defined in Linear.V2

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V2 a)

Distributive V2 # 
Instance details

Defined in Linear.V2

Methods

distribute :: Functor f => f (V2 a) -> V2 (f a)

collect :: Functor f => (a -> V2 b) -> f a -> V2 (f b)

distributeM :: Monad m => m (V2 a) -> V2 (m a)

collectM :: Monad m => (a -> V2 b) -> m a -> V2 (m b)

Applicative V2 # 
Instance details

Defined in Linear.V2

Methods

pure :: a -> V2 a

(<*>) :: V2 (a -> b) -> V2 a -> V2 b

liftA2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

(*>) :: V2 a -> V2 b -> V2 b

(<*) :: V2 a -> V2 b -> V2 a

Functor V2 # 
Instance details

Defined in Linear.V2

Methods

fmap :: (a -> b) -> V2 a -> V2 b

(<$) :: a -> V2 b -> V2 a

Monad V2 # 
Instance details

Defined in Linear.V2

Methods

(>>=) :: V2 a -> (a -> V2 b) -> V2 b

(>>) :: V2 a -> V2 b -> V2 b

return :: a -> V2 a

MonadFix V2 # 
Instance details

Defined in Linear.V2

Methods

mfix :: (a -> V2 a) -> V2 a

MonadZip V2 # 
Instance details

Defined in Linear.V2

Methods

mzip :: V2 a -> V2 b -> V2 (a, b)

mzipWith :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

munzip :: V2 (a, b) -> (V2 a, V2 b)

Foldable V2 # 
Instance details

Defined in Linear.V2

Methods

fold :: Monoid m => V2 m -> m

foldMap :: Monoid m => (a -> m) -> V2 a -> m

foldMap' :: Monoid m => (a -> m) -> V2 a -> m

foldr :: (a -> b -> b) -> b -> V2 a -> b

foldr' :: (a -> b -> b) -> b -> V2 a -> b

foldl :: (b -> a -> b) -> b -> V2 a -> b

foldl' :: (b -> a -> b) -> b -> V2 a -> b

foldr1 :: (a -> a -> a) -> V2 a -> a

foldl1 :: (a -> a -> a) -> V2 a -> a

toList :: V2 a -> [a]

null :: V2 a -> Bool

length :: V2 a -> Int

elem :: Eq a => a -> V2 a -> Bool

maximum :: Ord a => V2 a -> a

minimum :: Ord a => V2 a -> a

sum :: Num a => V2 a -> a

product :: Num a => V2 a -> a

Traversable V2 # 
Instance details

Defined in Linear.V2

Methods

traverse :: Applicative f => (a -> f b) -> V2 a -> f (V2 b)

sequenceA :: Applicative f => V2 (f a) -> f (V2 a)

mapM :: Monad m => (a -> m b) -> V2 a -> m (V2 b)

sequence :: Monad m => V2 (m a) -> m (V2 a)

Hashable1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V2 a -> Int

Affine V2 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V2 
Instance details

Defined in Linear.Affine

type Diff V2 = V2

Methods

(.-.) :: Num a => V2 a -> V2 a -> Diff V2 a #

(.+^) :: Num a => V2 a -> Diff V2 a -> V2 a #

(.-^) :: Num a => V2 a -> Diff V2 a -> V2 a #

Metric V2 # 
Instance details

Defined in Linear.V2

Methods

dot :: Num a => V2 a -> V2 a -> a #

quadrance :: Num a => V2 a -> a #

qd :: Num a => V2 a -> V2 a -> a #

distance :: Floating a => V2 a -> V2 a -> a #

norm :: Floating a => V2 a -> a #

signorm :: Floating a => V2 a -> V2 a #

Trace V2 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V2 (V2 a) -> a #

diagonal :: V2 (V2 a) -> V2 a #

Finite V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Size V2 
Instance details

Defined in Linear.V2

type Size V2 = 2

Methods

toV :: V2 a -> V (Size V2) a

fromV :: V (Size V2) a -> V2 a

R1 V2 # 
Instance details

Defined in Linear.V2

Methods

_x :: Lens' (V2 a) a #

R2 V2 # 
Instance details

Defined in Linear.V2

Methods

_y :: Lens' (V2 a) a #

_xy :: Lens' (V2 a) (V2 a) #

Additive V2 # 
Instance details

Defined in Linear.V2

Methods

zero :: Num a => V2 a #

(^+^) :: Num a => V2 a -> V2 a -> V2 a #

(^-^) :: Num a => V2 a -> V2 a -> V2 a #

lerp :: Num a => a -> V2 a -> V2 a -> V2 a #

liftU2 :: (a -> a -> a) -> V2 a -> V2 a -> V2 a #

liftI2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c #

Apply V2 # 
Instance details

Defined in Linear.V2

Methods

(<.>) :: V2 (a -> b) -> V2 a -> V2 b

(.>) :: V2 a -> V2 b -> V2 b

(<.) :: V2 a -> V2 b -> V2 a

liftF2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

Bind V2 # 
Instance details

Defined in Linear.V2

Methods

(>>-) :: V2 a -> (a -> V2 b) -> V2 b

join :: V2 (V2 a) -> V2 a

Traversable1 V2 # 
Instance details

Defined in Linear.V2

Methods

traverse1 :: Apply f => (a -> f b) -> V2 a -> f (V2 b)

sequence1 :: Apply f => V2 (f b) -> f (V2 b)

Generic1 V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Rep1 V2 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: V2 a -> Rep1 V2 a

to1 :: Rep1 V2 a -> V2 a

Lift a => Lift (V2 a :: Type) # 
Instance details

Defined in Linear.V2

Methods

lift :: Quote m => V2 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V2 a -> Code m (V2 a)

Num r => Coalgebra r (E V2) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r #

counital :: (E V2 -> r) -> r #

Unbox a => Vector Vector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicUnsafeFreeze :: Mutable Vector s (V2 a) -> ST s (Vector (V2 a))

basicUnsafeThaw :: Vector (V2 a) -> ST s (Mutable Vector s (V2 a))

basicLength :: Vector (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a)

basicUnsafeIndexM :: Vector (V2 a) -> Int -> Box (V2 a)

basicUnsafeCopy :: Mutable Vector s (V2 a) -> Vector (V2 a) -> ST s ()

elemseq :: Vector (V2 a) -> V2 a -> b -> b

Unbox a => MVector MVector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicLength :: MVector s (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a)

basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V2 a))

basicInitialize :: MVector s (V2 a) -> ST s ()

basicUnsafeReplicate :: Int -> V2 a -> ST s (MVector s (V2 a))

basicUnsafeRead :: MVector s (V2 a) -> Int -> ST s (V2 a)

basicUnsafeWrite :: MVector s (V2 a) -> Int -> V2 a -> ST s ()

basicClear :: MVector s (V2 a) -> ST s ()

basicSet :: MVector s (V2 a) -> V2 a -> ST s ()

basicUnsafeCopy :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeMove :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeGrow :: MVector s (V2 a) -> Int -> ST s (MVector s (V2 a))

Binary a => Binary (V2 a) # 
Instance details

Defined in Linear.V2

Methods

put :: V2 a -> Put

get :: Get (V2 a)

putList :: [V2 a] -> Put

Serial a => Serial (V2 a) # 
Instance details

Defined in Linear.V2

Methods

serialize :: MonadPut m => V2 a -> m ()

deserialize :: MonadGet m => m (V2 a)

Serialize a => Serialize (V2 a) # 
Instance details

Defined in Linear.V2

Methods

put :: Putter (V2 a)

get :: Get (V2 a)

NFData a => NFData (V2 a) # 
Instance details

Defined in Linear.V2

Methods

rnf :: V2 a -> ()

Monoid a => Monoid (V2 a) # 
Instance details

Defined in Linear.V2

Methods

mempty :: V2 a

mappend :: V2 a -> V2 a -> V2 a

mconcat :: [V2 a] -> V2 a

Semigroup a => Semigroup (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(<>) :: V2 a -> V2 a -> V2 a

sconcat :: NonEmpty (V2 a) -> V2 a

stimes :: Integral b => b -> V2 a -> V2 a

Data a => Data (V2 a) # 
Instance details

Defined in Linear.V2

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V2 a -> c (V2 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V2 a)

toConstr :: V2 a -> Constr

dataTypeOf :: V2 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V2 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V2 a))

gmapT :: (forall b. Data b => b -> b) -> V2 a -> V2 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V2 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V2 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

Bounded a => Bounded (V2 a) # 
Instance details

Defined in Linear.V2

Methods

minBound :: V2 a

maxBound :: V2 a

Floating a => Floating (V2 a) # 
Instance details

Defined in Linear.V2

Methods

pi :: V2 a

exp :: V2 a -> V2 a

log :: V2 a -> V2 a

sqrt :: V2 a -> V2 a

(**) :: V2 a -> V2 a -> V2 a

logBase :: V2 a -> V2 a -> V2 a

sin :: V2 a -> V2 a

cos :: V2 a -> V2 a

tan :: V2 a -> V2 a

asin :: V2 a -> V2 a

acos :: V2 a -> V2 a

atan :: V2 a -> V2 a

sinh :: V2 a -> V2 a

cosh :: V2 a -> V2 a

tanh :: V2 a -> V2 a

asinh :: V2 a -> V2 a

acosh :: V2 a -> V2 a

atanh :: V2 a -> V2 a

log1p :: V2 a -> V2 a

expm1 :: V2 a -> V2 a

log1pexp :: V2 a -> V2 a

log1mexp :: V2 a -> V2 a

Storable a => Storable (V2 a) # 
Instance details

Defined in Linear.V2

Methods

sizeOf :: V2 a -> Int

alignment :: V2 a -> Int

peekElemOff :: Ptr (V2 a) -> Int -> IO (V2 a)

pokeElemOff :: Ptr (V2 a) -> Int -> V2 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V2 a)

pokeByteOff :: Ptr b -> Int -> V2 a -> IO ()

peek :: Ptr (V2 a) -> IO (V2 a)

poke :: Ptr (V2 a) -> V2 a -> IO ()

Generic (V2 a) # 
Instance details

Defined in Linear.V2

Associated Types

type Rep (V2 a) 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))

Methods

from :: V2 a -> Rep (V2 a) x

to :: Rep (V2 a) x -> V2 a

Ix a => Ix (V2 a) # 
Instance details

Defined in Linear.V2

Methods

range :: (V2 a, V2 a) -> [V2 a]

index :: (V2 a, V2 a) -> V2 a -> Int

unsafeIndex :: (V2 a, V2 a) -> V2 a -> Int

inRange :: (V2 a, V2 a) -> V2 a -> Bool

rangeSize :: (V2 a, V2 a) -> Int

unsafeRangeSize :: (V2 a, V2 a) -> Int

Num a => Num (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(+) :: V2 a -> V2 a -> V2 a

(-) :: V2 a -> V2 a -> V2 a

(*) :: V2 a -> V2 a -> V2 a

negate :: V2 a -> V2 a

abs :: V2 a -> V2 a

signum :: V2 a -> V2 a

fromInteger :: Integer -> V2 a

Read a => Read (V2 a) # 
Instance details

Defined in Linear.V2

Methods

readsPrec :: Int -> ReadS (V2 a)

readList :: ReadS [V2 a]

readPrec :: ReadPrec (V2 a)

readListPrec :: ReadPrec [V2 a]

Fractional a => Fractional (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(/) :: V2 a -> V2 a -> V2 a

recip :: V2 a -> V2 a

fromRational :: Rational -> V2 a

Show a => Show (V2 a) # 
Instance details

Defined in Linear.V2

Methods

showsPrec :: Int -> V2 a -> ShowS

show :: V2 a -> String

showList :: [V2 a] -> ShowS

Eq a => Eq (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(==) :: V2 a -> V2 a -> Bool

(/=) :: V2 a -> V2 a -> Bool

Ord a => Ord (V2 a) # 
Instance details

Defined in Linear.V2

Methods

compare :: V2 a -> V2 a -> Ordering

(<) :: V2 a -> V2 a -> Bool

(<=) :: V2 a -> V2 a -> Bool

(>) :: V2 a -> V2 a -> Bool

(>=) :: V2 a -> V2 a -> Bool

max :: V2 a -> V2 a -> V2 a

min :: V2 a -> V2 a -> V2 a

Hashable a => Hashable (V2 a) # 
Instance details

Defined in Linear.V2

Methods

hashWithSalt :: Int -> V2 a -> Int

hash :: V2 a -> Int

Ixed (V2 a) # 
Instance details

Defined in Linear.V2

Methods

ix :: Index (V2 a) -> Traversal' (V2 a) (IxValue (V2 a))

Epsilon a => Epsilon (V2 a) # 
Instance details

Defined in Linear.V2

Methods

nearZero :: V2 a -> Bool #

Random a => Random (V2 a) # 
Instance details

Defined in Linear.V2

Methods

randomR :: RandomGen g => (V2 a, V2 a) -> g -> (V2 a, g)

random :: RandomGen g => g -> (V2 a, g)

randomRs :: RandomGen g => (V2 a, V2 a) -> g -> [V2 a]

randoms :: RandomGen g => g -> [V2 a]

Uniform a => Uniform (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformM :: StatefulGen g m => g -> m (V2 a)

UniformRange a => UniformRange (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformRM :: StatefulGen g m => (V2 a, V2 a) -> g -> m (V2 a)

isInRange :: (V2 a, V2 a) -> V2 a -> Bool

Unbox a => Unbox (V2 a) # 
Instance details

Defined in Linear.V2

FoldableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

ifoldMap :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldMap' :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldr :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

ifoldr' :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl' :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

FunctorWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

imap :: (E V2 -> a -> b) -> V2 a -> V2 b

TraversableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 b)

Each (V2 a) (V2 b) a b # 
Instance details

Defined in Linear.V2

Methods

each :: Traversal (V2 a) (V2 b) a b

Field1 (V2 a) (V2 a) a a # 
Instance details

Defined in Linear.V2

Methods

_1 :: Lens (V2 a) (V2 a) a a

Field2 (V2 a) (V2 a) a a # 
Instance details

Defined in Linear.V2

Methods

_2 :: Lens (V2 a) (V2 a) a a

type Rep V2 # 
Instance details

Defined in Linear.V2

type Rep V2 = E V2
type Diff V2 # 
Instance details

Defined in Linear.Affine

type Diff V2 = V2
type Size V2 # 
Instance details

Defined in Linear.V2

type Size V2 = 2
type Rep1 V2 # 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))
data MVector s (V2 a) # 
Instance details

Defined in Linear.V2

data MVector s (V2 a) = MV_V2 !Int !(MVector s a)
type Rep (V2 a) # 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))
type Index (V2 a) # 
Instance details

Defined in Linear.V2

type Index (V2 a) = E V2
type IxValue (V2 a) # 
Instance details

Defined in Linear.V2

type IxValue (V2 a) = a
data Vector (V2 a) # 
Instance details

Defined in Linear.V2

data Vector (V2 a) = V_V2 !Int !(Vector a)

class R2 t => R3 (t :: Type -> Type) where #

Methods

_z :: Lens' (t a) a #

_xyz :: Lens' (t a) (V3 a) #

Instances

Instances details
R3 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_z :: Lens' (Quaternion a) a #

_xyz :: Lens' (Quaternion a) (V3 a) #

R3 V3 # 
Instance details

Defined in Linear.V3

Methods

_z :: Lens' (V3 a) a #

_xyz :: Lens' (V3 a) (V3 a) #

R3 V4 # 
Instance details

Defined in Linear.V4

Methods

_z :: Lens' (V4 a) a #

_xyz :: Lens' (V4 a) (V3 a) #

R3 f => R3 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_z :: Lens' (Point f a) a #

_xyz :: Lens' (Point f a) (V3 a) #

data V3 a #

Constructors

V3 !a !a !a 

Instances

Instances details
Representable V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep V3 
Instance details

Defined in Linear.V3

type Rep V3 = E V3

Methods

tabulate :: (Rep V3 -> a) -> V3 a

index :: V3 a -> Rep V3 -> a

Foldable1 V3 # 
Instance details

Defined in Linear.V3

Methods

fold1 :: Semigroup m => V3 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V3 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V3 a -> m

toNonEmpty :: V3 a -> NonEmpty a

maximum :: Ord a => V3 a -> a

minimum :: Ord a => V3 a -> a

head :: V3 a -> a

last :: V3 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V3 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V3 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V3 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V3 a -> b

Eq1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftEq :: (a -> b -> Bool) -> V3 a -> V3 b -> Bool

Ord1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftCompare :: (a -> b -> Ordering) -> V3 a -> V3 b -> Ordering

Read1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V3 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V3 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V3 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V3 a]

Show1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V3 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V3 a] -> ShowS

Serial1 V3 # 
Instance details

Defined in Linear.V3

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V3 a)

Distributive V3 # 
Instance details

Defined in Linear.V3

Methods

distribute :: Functor f => f (V3 a) -> V3 (f a)

collect :: Functor f => (a -> V3 b) -> f a -> V3 (f b)

distributeM :: Monad m => m (V3 a) -> V3 (m a)

collectM :: Monad m => (a -> V3 b) -> m a -> V3 (m b)

Applicative V3 # 
Instance details

Defined in Linear.V3

Methods

pure :: a -> V3 a

(<*>) :: V3 (a -> b) -> V3 a -> V3 b

liftA2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

(*>) :: V3 a -> V3 b -> V3 b

(<*) :: V3 a -> V3 b -> V3 a

Functor V3 # 
Instance details

Defined in Linear.V3

Methods

fmap :: (a -> b) -> V3 a -> V3 b

(<$) :: a -> V3 b -> V3 a

Monad V3 # 
Instance details

Defined in Linear.V3

Methods

(>>=) :: V3 a -> (a -> V3 b) -> V3 b

(>>) :: V3 a -> V3 b -> V3 b

return :: a -> V3 a

MonadFix V3 # 
Instance details

Defined in Linear.V3

Methods

mfix :: (a -> V3 a) -> V3 a

MonadZip V3 # 
Instance details

Defined in Linear.V3

Methods

mzip :: V3 a -> V3 b -> V3 (a, b)

mzipWith :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

munzip :: V3 (a, b) -> (V3 a, V3 b)

Foldable V3 # 
Instance details

Defined in Linear.V3

Methods

fold :: Monoid m => V3 m -> m

foldMap :: Monoid m => (a -> m) -> V3 a -> m

foldMap' :: Monoid m => (a -> m) -> V3 a -> m

foldr :: (a -> b -> b) -> b -> V3 a -> b

foldr' :: (a -> b -> b) -> b -> V3 a -> b

foldl :: (b -> a -> b) -> b -> V3 a -> b

foldl' :: (b -> a -> b) -> b -> V3 a -> b

foldr1 :: (a -> a -> a) -> V3 a -> a

foldl1 :: (a -> a -> a) -> V3 a -> a

toList :: V3 a -> [a]

null :: V3 a -> Bool

length :: V3 a -> Int

elem :: Eq a => a -> V3 a -> Bool

maximum :: Ord a => V3 a -> a

minimum :: Ord a => V3 a -> a

sum :: Num a => V3 a -> a

product :: Num a => V3 a -> a

Traversable V3 # 
Instance details

Defined in Linear.V3

Methods

traverse :: Applicative f => (a -> f b) -> V3 a -> f (V3 b)

sequenceA :: Applicative f => V3 (f a) -> f (V3 a)

mapM :: Monad m => (a -> m b) -> V3 a -> m (V3 b)

sequence :: Monad m => V3 (m a) -> m (V3 a)

Hashable1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V3 a -> Int

Affine V3 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V3 
Instance details

Defined in Linear.Affine

type Diff V3 = V3

Methods

(.-.) :: Num a => V3 a -> V3 a -> Diff V3 a #

(.+^) :: Num a => V3 a -> Diff V3 a -> V3 a #

(.-^) :: Num a => V3 a -> Diff V3 a -> V3 a #

Metric V3 # 
Instance details

Defined in Linear.V3

Methods

dot :: Num a => V3 a -> V3 a -> a #

quadrance :: Num a => V3 a -> a #

qd :: Num a => V3 a -> V3 a -> a #

distance :: Floating a => V3 a -> V3 a -> a #

norm :: Floating a => V3 a -> a #

signorm :: Floating a => V3 a -> V3 a #

Trace V3 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V3 (V3 a) -> a #

diagonal :: V3 (V3 a) -> V3 a #

Finite V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Size V3 
Instance details

Defined in Linear.V3

type Size V3 = 3

Methods

toV :: V3 a -> V (Size V3) a

fromV :: V (Size V3) a -> V3 a

R1 V3 # 
Instance details

Defined in Linear.V3

Methods

_x :: Lens' (V3 a) a #

R2 V3 # 
Instance details

Defined in Linear.V3

Methods

_y :: Lens' (V3 a) a #

_xy :: Lens' (V3 a) (V2 a) #

R3 V3 # 
Instance details

Defined in Linear.V3

Methods

_z :: Lens' (V3 a) a #

_xyz :: Lens' (V3 a) (V3 a) #

Additive V3 # 
Instance details

Defined in Linear.V3

Methods

zero :: Num a => V3 a #

(^+^) :: Num a => V3 a -> V3 a -> V3 a #

(^-^) :: Num a => V3 a -> V3 a -> V3 a #

lerp :: Num a => a -> V3 a -> V3 a -> V3 a #

liftU2 :: (a -> a -> a) -> V3 a -> V3 a -> V3 a #

liftI2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c #

Apply V3 # 
Instance details

Defined in Linear.V3

Methods

(<.>) :: V3 (a -> b) -> V3 a -> V3 b

(.>) :: V3 a -> V3 b -> V3 b

(<.) :: V3 a -> V3 b -> V3 a

liftF2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

Bind V3 # 
Instance details

Defined in Linear.V3

Methods

(>>-) :: V3 a -> (a -> V3 b) -> V3 b

join :: V3 (V3 a) -> V3 a

Traversable1 V3 # 
Instance details

Defined in Linear.V3

Methods

traverse1 :: Apply f => (a -> f b) -> V3 a -> f (V3 b)

sequence1 :: Apply f => V3 (f b) -> f (V3 b)

Generic1 V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep1 V3 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

Methods

from1 :: V3 a -> Rep1 V3 a

to1 :: Rep1 V3 a -> V3 a

Lift a => Lift (V3 a :: Type) # 
Instance details

Defined in Linear.V3

Methods

lift :: Quote m => V3 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V3 a -> Code m (V3 a)

Num r => Coalgebra r (E V3) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r #

counital :: (E V3 -> r) -> r #

Unbox a => Vector Vector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicUnsafeFreeze :: Mutable Vector s (V3 a) -> ST s (Vector (V3 a))

basicUnsafeThaw :: Vector (V3 a) -> ST s (Mutable Vector s (V3 a))

basicLength :: Vector (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a)

basicUnsafeIndexM :: Vector (V3 a) -> Int -> Box (V3 a)

basicUnsafeCopy :: Mutable Vector s (V3 a) -> Vector (V3 a) -> ST s ()

elemseq :: Vector (V3 a) -> V3 a -> b -> b

Unbox a => MVector MVector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicLength :: MVector s (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a)

basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V3 a))

basicInitialize :: MVector s (V3 a) -> ST s ()

basicUnsafeReplicate :: Int -> V3 a -> ST s (MVector s (V3 a))

basicUnsafeRead :: MVector s (V3 a) -> Int -> ST s (V3 a)

basicUnsafeWrite :: MVector s (V3 a) -> Int -> V3 a -> ST s ()

basicClear :: MVector s (V3 a) -> ST s ()

basicSet :: MVector s (V3 a) -> V3 a -> ST s ()

basicUnsafeCopy :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeMove :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeGrow :: MVector s (V3 a) -> Int -> ST s (MVector s (V3 a))

Binary a => Binary (V3 a) # 
Instance details

Defined in Linear.V3

Methods

put :: V3 a -> Put

get :: Get (V3 a)

putList :: [V3 a] -> Put

Serial a => Serial (V3 a) # 
Instance details

Defined in Linear.V3

Methods

serialize :: MonadPut m => V3 a -> m ()

deserialize :: MonadGet m => m (V3 a)

Serialize a => Serialize (V3 a) # 
Instance details

Defined in Linear.V3

Methods

put :: Putter (V3 a)

get :: Get (V3 a)

NFData a => NFData (V3 a) # 
Instance details

Defined in Linear.V3

Methods

rnf :: V3 a -> ()

Monoid a => Monoid (V3 a) # 
Instance details

Defined in Linear.V3

Methods

mempty :: V3 a

mappend :: V3 a -> V3 a -> V3 a

mconcat :: [V3 a] -> V3 a

Semigroup a => Semigroup (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(<>) :: V3 a -> V3 a -> V3 a

sconcat :: NonEmpty (V3 a) -> V3 a

stimes :: Integral b => b -> V3 a -> V3 a

Data a => Data (V3 a) # 
Instance details

Defined in Linear.V3

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V3 a -> c (V3 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V3 a)

toConstr :: V3 a -> Constr

dataTypeOf :: V3 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V3 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V3 a))

gmapT :: (forall b. Data b => b -> b) -> V3 a -> V3 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V3 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V3 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

Bounded a => Bounded (V3 a) # 
Instance details

Defined in Linear.V3

Methods

minBound :: V3 a

maxBound :: V3 a

Floating a => Floating (V3 a) # 
Instance details

Defined in Linear.V3

Methods

pi :: V3 a

exp :: V3 a -> V3 a

log :: V3 a -> V3 a

sqrt :: V3 a -> V3 a

(**) :: V3 a -> V3 a -> V3 a

logBase :: V3 a -> V3 a -> V3 a

sin :: V3 a -> V3 a

cos :: V3 a -> V3 a

tan :: V3 a -> V3 a

asin :: V3 a -> V3 a

acos :: V3 a -> V3 a

atan :: V3 a -> V3 a

sinh :: V3 a -> V3 a

cosh :: V3 a -> V3 a

tanh :: V3 a -> V3 a

asinh :: V3 a -> V3 a

acosh :: V3 a -> V3 a

atanh :: V3 a -> V3 a

log1p :: V3 a -> V3 a

expm1 :: V3 a -> V3 a

log1pexp :: V3 a -> V3 a

log1mexp :: V3 a -> V3 a

Storable a => Storable (V3 a) # 
Instance details

Defined in Linear.V3

Methods

sizeOf :: V3 a -> Int

alignment :: V3 a -> Int

peekElemOff :: Ptr (V3 a) -> Int -> IO (V3 a)

pokeElemOff :: Ptr (V3 a) -> Int -> V3 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V3 a)

pokeByteOff :: Ptr b -> Int -> V3 a -> IO ()

peek :: Ptr (V3 a) -> IO (V3 a)

poke :: Ptr (V3 a) -> V3 a -> IO ()

Generic (V3 a) # 
Instance details

Defined in Linear.V3

Associated Types

type Rep (V3 a) 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))

Methods

from :: V3 a -> Rep (V3 a) x

to :: Rep (V3 a) x -> V3 a

Ix a => Ix (V3 a) # 
Instance details

Defined in Linear.V3

Methods

range :: (V3 a, V3 a) -> [V3 a]

index :: (V3 a, V3 a) -> V3 a -> Int

unsafeIndex :: (V3 a, V3 a) -> V3 a -> Int

inRange :: (V3 a, V3 a) -> V3 a -> Bool

rangeSize :: (V3 a, V3 a) -> Int

unsafeRangeSize :: (V3 a, V3 a) -> Int

Num a => Num (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(+) :: V3 a -> V3 a -> V3 a

(-) :: V3 a -> V3 a -> V3 a

(*) :: V3 a -> V3 a -> V3 a

negate :: V3 a -> V3 a

abs :: V3 a -> V3 a

signum :: V3 a -> V3 a

fromInteger :: Integer -> V3 a

Read a => Read (V3 a) # 
Instance details

Defined in Linear.V3

Methods

readsPrec :: Int -> ReadS (V3 a)

readList :: ReadS [V3 a]

readPrec :: ReadPrec (V3 a)

readListPrec :: ReadPrec [V3 a]

Fractional a => Fractional (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(/) :: V3 a -> V3 a -> V3 a

recip :: V3 a -> V3 a

fromRational :: Rational -> V3 a

Show a => Show (V3 a) # 
Instance details

Defined in Linear.V3

Methods

showsPrec :: Int -> V3 a -> ShowS

show :: V3 a -> String

showList :: [V3 a] -> ShowS

Eq a => Eq (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(==) :: V3 a -> V3 a -> Bool

(/=) :: V3 a -> V3 a -> Bool

Ord a => Ord (V3 a) # 
Instance details

Defined in Linear.V3

Methods

compare :: V3 a -> V3 a -> Ordering

(<) :: V3 a -> V3 a -> Bool

(<=) :: V3 a -> V3 a -> Bool

(>) :: V3 a -> V3 a -> Bool

(>=) :: V3 a -> V3 a -> Bool

max :: V3 a -> V3 a -> V3 a

min :: V3 a -> V3 a -> V3 a

Hashable a => Hashable (V3 a) # 
Instance details

Defined in Linear.V3

Methods

hashWithSalt :: Int -> V3 a -> Int

hash :: V3 a -> Int

Ixed (V3 a) # 
Instance details

Defined in Linear.V3

Methods

ix :: Index (V3 a) -> Traversal' (V3 a) (IxValue (V3 a))

Epsilon a => Epsilon (V3 a) # 
Instance details

Defined in Linear.V3

Methods

nearZero :: V3 a -> Bool #

Random a => Random (V3 a) # 
Instance details

Defined in Linear.V3

Methods

randomR :: RandomGen g => (V3 a, V3 a) -> g -> (V3 a, g)

random :: RandomGen g => g -> (V3 a, g)

randomRs :: RandomGen g => (V3 a, V3 a) -> g -> [V3 a]

randoms :: RandomGen g => g -> [V3 a]

Uniform a => Uniform (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformM :: StatefulGen g m => g -> m (V3 a)

UniformRange a => UniformRange (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformRM :: StatefulGen g m => (V3 a, V3 a) -> g -> m (V3 a)

isInRange :: (V3 a, V3 a) -> V3 a -> Bool

Unbox a => Unbox (V3 a) # 
Instance details

Defined in Linear.V3

FoldableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

ifoldMap :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldMap' :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldr :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

ifoldr' :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl' :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

FunctorWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

imap :: (E V3 -> a -> b) -> V3 a -> V3 b

TraversableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 b)

Each (V3 a) (V3 b) a b # 
Instance details

Defined in Linear.V3

Methods

each :: Traversal (V3 a) (V3 b) a b

Field1 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_1 :: Lens (V3 a) (V3 a) a a

Field2 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_2 :: Lens (V3 a) (V3 a) a a

Field3 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_3 :: Lens (V3 a) (V3 a) a a

type Rep V3 # 
Instance details

Defined in Linear.V3

type Rep V3 = E V3
type Diff V3 # 
Instance details

Defined in Linear.Affine

type Diff V3 = V3
type Size V3 # 
Instance details

Defined in Linear.V3

type Size V3 = 3
type Rep1 V3 # 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))
data MVector s (V3 a) # 
Instance details

Defined in Linear.V3

data MVector s (V3 a) = MV_V3 !Int !(MVector s a)
type Rep (V3 a) # 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type Index (V3 a) # 
Instance details

Defined in Linear.V3

type Index (V3 a) = E V3
type IxValue (V3 a) # 
Instance details

Defined in Linear.V3

type IxValue (V3 a) = a
data Vector (V3 a) # 
Instance details

Defined in Linear.V3

data Vector (V3 a) = V_V3 !Int !(Vector a)

class R3 t => R4 (t :: Type -> Type) where #

Methods

_w :: Lens' (t a) a #

_xyzw :: Lens' (t a) (V4 a) #

Instances

Instances details
R4 Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

_w :: Lens' (Quaternion a) a #

_xyzw :: Lens' (Quaternion a) (V4 a) #

R4 V4 # 
Instance details

Defined in Linear.V4

Methods

_w :: Lens' (V4 a) a #

_xyzw :: Lens' (V4 a) (V4 a) #

R4 f => R4 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_w :: Lens' (Point f a) a #

_xyzw :: Lens' (Point f a) (V4 a) #

data V4 a #

Constructors

V4 !a !a !a !a 

Instances

Instances details
Representable V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep V4 
Instance details

Defined in Linear.V4

type Rep V4 = E V4

Methods

tabulate :: (Rep V4 -> a) -> V4 a

index :: V4 a -> Rep V4 -> a

Foldable1 V4 # 
Instance details

Defined in Linear.V4

Methods

fold1 :: Semigroup m => V4 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V4 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V4 a -> m

toNonEmpty :: V4 a -> NonEmpty a

maximum :: Ord a => V4 a -> a

minimum :: Ord a => V4 a -> a

head :: V4 a -> a

last :: V4 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V4 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V4 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V4 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V4 a -> b

Eq1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftEq :: (a -> b -> Bool) -> V4 a -> V4 b -> Bool

Ord1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftCompare :: (a -> b -> Ordering) -> V4 a -> V4 b -> Ordering

Read1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V4 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V4 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V4 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V4 a]

Show1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V4 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V4 a] -> ShowS

Serial1 V4 # 
Instance details

Defined in Linear.V4

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V4 a)

Distributive V4 # 
Instance details

Defined in Linear.V4

Methods

distribute :: Functor f => f (V4 a) -> V4 (f a)

collect :: Functor f => (a -> V4 b) -> f a -> V4 (f b)

distributeM :: Monad m => m (V4 a) -> V4 (m a)

collectM :: Monad m => (a -> V4 b) -> m a -> V4 (m b)

Applicative V4 # 
Instance details

Defined in Linear.V4

Methods

pure :: a -> V4 a

(<*>) :: V4 (a -> b) -> V4 a -> V4 b

liftA2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

(*>) :: V4 a -> V4 b -> V4 b

(<*) :: V4 a -> V4 b -> V4 a

Functor V4 # 
Instance details

Defined in Linear.V4

Methods

fmap :: (a -> b) -> V4 a -> V4 b

(<$) :: a -> V4 b -> V4 a

Monad V4 # 
Instance details

Defined in Linear.V4

Methods

(>>=) :: V4 a -> (a -> V4 b) -> V4 b

(>>) :: V4 a -> V4 b -> V4 b

return :: a -> V4 a

MonadFix V4 # 
Instance details

Defined in Linear.V4

Methods

mfix :: (a -> V4 a) -> V4 a

MonadZip V4 # 
Instance details

Defined in Linear.V4

Methods

mzip :: V4 a -> V4 b -> V4 (a, b)

mzipWith :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

munzip :: V4 (a, b) -> (V4 a, V4 b)

Foldable V4 # 
Instance details

Defined in Linear.V4

Methods

fold :: Monoid m => V4 m -> m

foldMap :: Monoid m => (a -> m) -> V4 a -> m

foldMap' :: Monoid m => (a -> m) -> V4 a -> m

foldr :: (a -> b -> b) -> b -> V4 a -> b

foldr' :: (a -> b -> b) -> b -> V4 a -> b

foldl :: (b -> a -> b) -> b -> V4 a -> b

foldl' :: (b -> a -> b) -> b -> V4 a -> b

foldr1 :: (a -> a -> a) -> V4 a -> a

foldl1 :: (a -> a -> a) -> V4 a -> a

toList :: V4 a -> [a]

null :: V4 a -> Bool

length :: V4 a -> Int

elem :: Eq a => a -> V4 a -> Bool

maximum :: Ord a => V4 a -> a

minimum :: Ord a => V4 a -> a

sum :: Num a => V4 a -> a

product :: Num a => V4 a -> a

Traversable V4 # 
Instance details

Defined in Linear.V4

Methods

traverse :: Applicative f => (a -> f b) -> V4 a -> f (V4 b)

sequenceA :: Applicative f => V4 (f a) -> f (V4 a)

mapM :: Monad m => (a -> m b) -> V4 a -> m (V4 b)

sequence :: Monad m => V4 (m a) -> m (V4 a)

Hashable1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V4 a -> Int

Affine V4 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V4 
Instance details

Defined in Linear.Affine

type Diff V4 = V4

Methods

(.-.) :: Num a => V4 a -> V4 a -> Diff V4 a #

(.+^) :: Num a => V4 a -> Diff V4 a -> V4 a #

(.-^) :: Num a => V4 a -> Diff V4 a -> V4 a #

Metric V4 # 
Instance details

Defined in Linear.V4

Methods

dot :: Num a => V4 a -> V4 a -> a #

quadrance :: Num a => V4 a -> a #

qd :: Num a => V4 a -> V4 a -> a #

distance :: Floating a => V4 a -> V4 a -> a #

norm :: Floating a => V4 a -> a #

signorm :: Floating a => V4 a -> V4 a #

Trace V4 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V4 (V4 a) -> a #

diagonal :: V4 (V4 a) -> V4 a #

Finite V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Size V4 
Instance details

Defined in Linear.V4

type Size V4 = 4

Methods

toV :: V4 a -> V (Size V4) a

fromV :: V (Size V4) a -> V4 a

R1 V4 # 
Instance details

Defined in Linear.V4

Methods

_x :: Lens' (V4 a) a #

R2 V4 # 
Instance details

Defined in Linear.V4

Methods

_y :: Lens' (V4 a) a #

_xy :: Lens' (V4 a) (V2 a) #

R3 V4 # 
Instance details

Defined in Linear.V4

Methods

_z :: Lens' (V4 a) a #

_xyz :: Lens' (V4 a) (V3 a) #

R4 V4 # 
Instance details

Defined in Linear.V4

Methods

_w :: Lens' (V4 a) a #

_xyzw :: Lens' (V4 a) (V4 a) #

Additive V4 # 
Instance details

Defined in Linear.V4

Methods

zero :: Num a => V4 a #

(^+^) :: Num a => V4 a -> V4 a -> V4 a #

(^-^) :: Num a => V4 a -> V4 a -> V4 a #

lerp :: Num a => a -> V4 a -> V4 a -> V4 a #

liftU2 :: (a -> a -> a) -> V4 a -> V4 a -> V4 a #

liftI2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c #

Apply V4 # 
Instance details

Defined in Linear.V4

Methods

(<.>) :: V4 (a -> b) -> V4 a -> V4 b

(.>) :: V4 a -> V4 b -> V4 b

(<.) :: V4 a -> V4 b -> V4 a

liftF2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

Bind V4 # 
Instance details

Defined in Linear.V4

Methods

(>>-) :: V4 a -> (a -> V4 b) -> V4 b

join :: V4 (V4 a) -> V4 a

Traversable1 V4 # 
Instance details

Defined in Linear.V4

Methods

traverse1 :: Apply f => (a -> f b) -> V4 a -> f (V4 b)

sequence1 :: Apply f => V4 (f b) -> f (V4 b)

Generic1 V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep1 V4 
Instance details

Defined in Linear.V4

type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

Methods

from1 :: V4 a -> Rep1 V4 a

to1 :: Rep1 V4 a -> V4 a

Lift a => Lift (V4 a :: Type) # 
Instance details

Defined in Linear.V4

Methods

lift :: Quote m => V4 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V4 a -> Code m (V4 a)

Num r => Coalgebra r (E V4) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r #

counital :: (E V4 -> r) -> r #

Unbox a => Vector Vector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicUnsafeFreeze :: Mutable Vector s (V4 a) -> ST s (Vector (V4 a))

basicUnsafeThaw :: Vector (V4 a) -> ST s (Mutable Vector s (V4 a))

basicLength :: Vector (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a)

basicUnsafeIndexM :: Vector (V4 a) -> Int -> Box (V4 a)

basicUnsafeCopy :: Mutable Vector s (V4 a) -> Vector (V4 a) -> ST s ()

elemseq :: Vector (V4 a) -> V4 a -> b -> b

Unbox a => MVector MVector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicLength :: MVector s (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a)

basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V4 a))

basicInitialize :: MVector s (V4 a) -> ST s ()

basicUnsafeReplicate :: Int -> V4 a -> ST s (MVector s (V4 a))

basicUnsafeRead :: MVector s (V4 a) -> Int -> ST s (V4 a)

basicUnsafeWrite :: MVector s (V4 a) -> Int -> V4 a -> ST s ()

basicClear :: MVector s (V4 a) -> ST s ()

basicSet :: MVector s (V4 a) -> V4 a -> ST s ()

basicUnsafeCopy :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeMove :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeGrow :: MVector s (V4 a) -> Int -> ST s (MVector s (V4 a))

Binary a => Binary (V4 a) # 
Instance details

Defined in Linear.V4

Methods

put :: V4 a -> Put

get :: Get (V4 a)

putList :: [V4 a] -> Put

Serial a => Serial (V4 a) # 
Instance details

Defined in Linear.V4

Methods

serialize :: MonadPut m => V4 a -> m ()

deserialize :: MonadGet m => m (V4 a)

Serialize a => Serialize (V4 a) # 
Instance details

Defined in Linear.V4

Methods

put :: Putter (V4 a)

get :: Get (V4 a)

NFData a => NFData (V4 a) # 
Instance details

Defined in Linear.V4

Methods

rnf :: V4 a -> ()

Monoid a => Monoid (V4 a) # 
Instance details

Defined in Linear.V4

Methods

mempty :: V4 a

mappend :: V4 a -> V4 a -> V4 a

mconcat :: [V4 a] -> V4 a

Semigroup a => Semigroup (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(<>) :: V4 a -> V4 a -> V4 a

sconcat :: NonEmpty (V4 a) -> V4 a

stimes :: Integral b => b -> V4 a -> V4 a

Data a => Data (V4 a) # 
Instance details

Defined in Linear.V4

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V4 a -> c (V4 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V4 a)

toConstr :: V4 a -> Constr

dataTypeOf :: V4 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V4 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V4 a))

gmapT :: (forall b. Data b => b -> b) -> V4 a -> V4 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V4 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V4 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

Bounded a => Bounded (V4 a) # 
Instance details

Defined in Linear.V4

Methods

minBound :: V4 a

maxBound :: V4 a

Floating a => Floating (V4 a) # 
Instance details

Defined in Linear.V4

Methods

pi :: V4 a

exp :: V4 a -> V4 a

log :: V4 a -> V4 a

sqrt :: V4 a -> V4 a

(**) :: V4 a -> V4 a -> V4 a

logBase :: V4 a -> V4 a -> V4 a

sin :: V4 a -> V4 a

cos :: V4 a -> V4 a

tan :: V4 a -> V4 a

asin :: V4 a -> V4 a

acos :: V4 a -> V4 a

atan :: V4 a -> V4 a

sinh :: V4 a -> V4 a

cosh :: V4 a -> V4 a

tanh :: V4 a -> V4 a

asinh :: V4 a -> V4 a

acosh :: V4 a -> V4 a

atanh :: V4 a -> V4 a

log1p :: V4 a -> V4 a

expm1 :: V4 a -> V4 a

log1pexp :: V4 a -> V4 a

log1mexp :: V4 a -> V4 a

Storable a => Storable (V4 a) # 
Instance details

Defined in Linear.V4

Methods

sizeOf :: V4 a -> Int

alignment :: V4 a -> Int

peekElemOff :: Ptr (V4 a) -> Int -> IO (V4 a)

pokeElemOff :: Ptr (V4 a) -> Int -> V4 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V4 a)

pokeByteOff :: Ptr b -> Int -> V4 a -> IO ()

peek :: Ptr (V4 a) -> IO (V4 a)

poke :: Ptr (V4 a) -> V4 a -> IO ()

Generic (V4 a) # 
Instance details

Defined in Linear.V4

Associated Types

type Rep (V4 a) 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))

Methods

from :: V4 a -> Rep (V4 a) x

to :: Rep (V4 a) x -> V4 a

Ix a => Ix (V4 a) # 
Instance details

Defined in Linear.V4

Methods

range :: (V4 a, V4 a) -> [V4 a]

index :: (V4 a, V4 a) -> V4 a -> Int

unsafeIndex :: (V4 a, V4 a) -> V4 a -> Int

inRange :: (V4 a, V4 a) -> V4 a -> Bool

rangeSize :: (V4 a, V4 a) -> Int

unsafeRangeSize :: (V4 a, V4 a) -> Int

Num a => Num (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(+) :: V4 a -> V4 a -> V4 a

(-) :: V4 a -> V4 a -> V4 a

(*) :: V4 a -> V4 a -> V4 a

negate :: V4 a -> V4 a

abs :: V4 a -> V4 a

signum :: V4 a -> V4 a

fromInteger :: Integer -> V4 a

Read a => Read (V4 a) # 
Instance details

Defined in Linear.V4

Methods

readsPrec :: Int -> ReadS (V4 a)

readList :: ReadS [V4 a]

readPrec :: ReadPrec (V4 a)

readListPrec :: ReadPrec [V4 a]

Fractional a => Fractional (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(/) :: V4 a -> V4 a -> V4 a

recip :: V4 a -> V4 a

fromRational :: Rational -> V4 a

Show a => Show (V4 a) # 
Instance details

Defined in Linear.V4

Methods

showsPrec :: Int -> V4 a -> ShowS

show :: V4 a -> String

showList :: [V4 a] -> ShowS

Eq a => Eq (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(==) :: V4 a -> V4 a -> Bool

(/=) :: V4 a -> V4 a -> Bool

Ord a => Ord (V4 a) # 
Instance details

Defined in Linear.V4

Methods

compare :: V4 a -> V4 a -> Ordering

(<) :: V4 a -> V4 a -> Bool

(<=) :: V4 a -> V4 a -> Bool

(>) :: V4 a -> V4 a -> Bool

(>=) :: V4 a -> V4 a -> Bool

max :: V4 a -> V4 a -> V4 a

min :: V4 a -> V4 a -> V4 a

Hashable a => Hashable (V4 a) # 
Instance details

Defined in Linear.V4

Methods

hashWithSalt :: Int -> V4 a -> Int

hash :: V4 a -> Int

Ixed (V4 a) # 
Instance details

Defined in Linear.V4

Methods

ix :: Index (V4 a) -> Traversal' (V4 a) (IxValue (V4 a))

Epsilon a => Epsilon (V4 a) # 
Instance details

Defined in Linear.V4

Methods

nearZero :: V4 a -> Bool #

Random a => Random (V4 a) # 
Instance details

Defined in Linear.V4

Methods

randomR :: RandomGen g => (V4 a, V4 a) -> g -> (V4 a, g)

random :: RandomGen g => g -> (V4 a, g)

randomRs :: RandomGen g => (V4 a, V4 a) -> g -> [V4 a]

randoms :: RandomGen g => g -> [V4 a]

Uniform a => Uniform (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformM :: StatefulGen g m => g -> m (V4 a)

UniformRange a => UniformRange (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformRM :: StatefulGen g m => (V4 a, V4 a) -> g -> m (V4 a)

isInRange :: (V4 a, V4 a) -> V4 a -> Bool

Unbox a => Unbox (V4 a) # 
Instance details

Defined in Linear.V4

FoldableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

ifoldMap :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldMap' :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldr :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

ifoldr' :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl' :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

FunctorWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

imap :: (E V4 -> a -> b) -> V4 a -> V4 b

TraversableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 b)

Each (V4 a) (V4 b) a b # 
Instance details

Defined in Linear.V4

Methods

each :: Traversal (V4 a) (V4 b) a b

Field1 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_1 :: Lens (V4 a) (V4 a) a a

Field2 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_2 :: Lens (V4 a) (V4 a) a a

Field3 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_3 :: Lens (V4 a) (V4 a) a a

Field4 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_4 :: Lens (V4 a) (V4 a) a a

type Rep V4 # 
Instance details

Defined in Linear.V4

type Rep V4 = E V4
type Diff V4 # 
Instance details

Defined in Linear.Affine

type Diff V4 = V4
type Size V4 # 
Instance details

Defined in Linear.V4

type Size V4 = 4
type Rep1 V4 # 
Instance details

Defined in Linear.V4

type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))
data MVector s (V4 a) # 
Instance details

Defined in Linear.V4

data MVector s (V4 a) = MV_V4 !Int !(MVector s a)
type Rep (V4 a) # 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type Index (V4 a) # 
Instance details

Defined in Linear.V4

type Index (V4 a) = E V4
type IxValue (V4 a) # 
Instance details

Defined in Linear.V4

type IxValue (V4 a) = a
data Vector (V4 a) # 
Instance details

Defined in Linear.V4

data Vector (V4 a) = V_V4 !Int !(Vector a)

class Functor f => Additive (f :: Type -> Type) where #

Minimal complete definition

Nothing

Methods

zero :: Num a => f a #

(^+^) :: Num a => f a -> f a -> f a #

(^-^) :: Num a => f a -> f a -> f a #

lerp :: Num a => a -> f a -> f a -> f a #

liftU2 :: (a -> a -> a) -> f a -> f a -> f a #

liftI2 :: (a -> b -> c) -> f a -> f b -> f c #

Instances

Instances details
Additive Complex # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Complex a #

(^+^) :: Num a => Complex a -> Complex a -> Complex a #

(^-^) :: Num a => Complex a -> Complex a -> Complex a #

lerp :: Num a => a -> Complex a -> Complex a -> Complex a #

liftU2 :: (a -> a -> a) -> Complex a -> Complex a -> Complex a #

liftI2 :: (a -> b -> c) -> Complex a -> Complex b -> Complex c #

Additive IntMap # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => IntMap a #

(^+^) :: Num a => IntMap a -> IntMap a -> IntMap a #

(^-^) :: Num a => IntMap a -> IntMap a -> IntMap a #

lerp :: Num a => a -> IntMap a -> IntMap a -> IntMap a #

liftU2 :: (a -> a -> a) -> IntMap a -> IntMap a -> IntMap a #

liftI2 :: (a -> b -> c) -> IntMap a -> IntMap b -> IntMap c #

Additive Identity # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Identity a #

(^+^) :: Num a => Identity a -> Identity a -> Identity a #

(^-^) :: Num a => Identity a -> Identity a -> Identity a #

lerp :: Num a => a -> Identity a -> Identity a -> Identity a #

liftU2 :: (a -> a -> a) -> Identity a -> Identity a -> Identity a #

liftI2 :: (a -> b -> c) -> Identity a -> Identity b -> Identity c #

Additive ZipList # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => ZipList a #

(^+^) :: Num a => ZipList a -> ZipList a -> ZipList a #

(^-^) :: Num a => ZipList a -> ZipList a -> ZipList a #

lerp :: Num a => a -> ZipList a -> ZipList a -> ZipList a #

liftU2 :: (a -> a -> a) -> ZipList a -> ZipList a -> ZipList a #

liftI2 :: (a -> b -> c) -> ZipList a -> ZipList b -> ZipList c #

Additive Plucker # 
Instance details

Defined in Linear.Plucker

Methods

zero :: Num a => Plucker a #

(^+^) :: Num a => Plucker a -> Plucker a -> Plucker a #

(^-^) :: Num a => Plucker a -> Plucker a -> Plucker a #

lerp :: Num a => a -> Plucker a -> Plucker a -> Plucker a #

liftU2 :: (a -> a -> a) -> Plucker a -> Plucker a -> Plucker a #

liftI2 :: (a -> b -> c) -> Plucker a -> Plucker b -> Plucker c #

Additive Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

zero :: Num a => Quaternion a #

(^+^) :: Num a => Quaternion a -> Quaternion a -> Quaternion a #

(^-^) :: Num a => Quaternion a -> Quaternion a -> Quaternion a #

lerp :: Num a => a -> Quaternion a -> Quaternion a -> Quaternion a #

liftU2 :: (a -> a -> a) -> Quaternion a -> Quaternion a -> Quaternion a #

liftI2 :: (a -> b -> c) -> Quaternion a -> Quaternion b -> Quaternion c #

Additive V0 # 
Instance details

Defined in Linear.V0

Methods

zero :: Num a => V0 a #

(^+^) :: Num a => V0 a -> V0 a -> V0 a #

(^-^) :: Num a => V0 a -> V0 a -> V0 a #

lerp :: Num a => a -> V0 a -> V0 a -> V0 a #

liftU2 :: (a -> a -> a) -> V0 a -> V0 a -> V0 a #

liftI2 :: (a -> b -> c) -> V0 a -> V0 b -> V0 c #

Additive V1 # 
Instance details

Defined in Linear.V1

Methods

zero :: Num a => V1 a #

(^+^) :: Num a => V1 a -> V1 a -> V1 a #

(^-^) :: Num a => V1 a -> V1 a -> V1 a #

lerp :: Num a => a -> V1 a -> V1 a -> V1 a #

liftU2 :: (a -> a -> a) -> V1 a -> V1 a -> V1 a #

liftI2 :: (a -> b -> c) -> V1 a -> V1 b -> V1 c #

Additive V2 # 
Instance details

Defined in Linear.V2

Methods

zero :: Num a => V2 a #

(^+^) :: Num a => V2 a -> V2 a -> V2 a #

(^-^) :: Num a => V2 a -> V2 a -> V2 a #

lerp :: Num a => a -> V2 a -> V2 a -> V2 a #

liftU2 :: (a -> a -> a) -> V2 a -> V2 a -> V2 a #

liftI2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c #

Additive V3 # 
Instance details

Defined in Linear.V3

Methods

zero :: Num a => V3 a #

(^+^) :: Num a => V3 a -> V3 a -> V3 a #

(^-^) :: Num a => V3 a -> V3 a -> V3 a #

lerp :: Num a => a -> V3 a -> V3 a -> V3 a #

liftU2 :: (a -> a -> a) -> V3 a -> V3 a -> V3 a #

liftI2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c #

Additive V4 # 
Instance details

Defined in Linear.V4

Methods

zero :: Num a => V4 a #

(^+^) :: Num a => V4 a -> V4 a -> V4 a #

(^-^) :: Num a => V4 a -> V4 a -> V4 a #

lerp :: Num a => a -> V4 a -> V4 a -> V4 a #

liftU2 :: (a -> a -> a) -> V4 a -> V4 a -> V4 a #

liftI2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c #

Additive Vector # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Vector a #

(^+^) :: Num a => Vector a -> Vector a -> Vector a #

(^-^) :: Num a => Vector a -> Vector a -> Vector a #

lerp :: Num a => a -> Vector a -> Vector a -> Vector a #

liftU2 :: (a -> a -> a) -> Vector a -> Vector a -> Vector a #

liftI2 :: (a -> b -> c) -> Vector a -> Vector b -> Vector c #

Additive Maybe # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Maybe a #

(^+^) :: Num a => Maybe a -> Maybe a -> Maybe a #

(^-^) :: Num a => Maybe a -> Maybe a -> Maybe a #

lerp :: Num a => a -> Maybe a -> Maybe a -> Maybe a #

liftU2 :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a #

liftI2 :: (a -> b -> c) -> Maybe a -> Maybe b -> Maybe c #

Additive [] # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => [a] #

(^+^) :: Num a => [a] -> [a] -> [a] #

(^-^) :: Num a => [a] -> [a] -> [a] #

lerp :: Num a => a -> [a] -> [a] -> [a] #

liftU2 :: (a -> a -> a) -> [a] -> [a] -> [a] #

liftI2 :: (a -> b -> c) -> [a] -> [b] -> [c] #

Ord k => Additive (Map k) # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Map k a #

(^+^) :: Num a => Map k a -> Map k a -> Map k a #

(^-^) :: Num a => Map k a -> Map k a -> Map k a #

lerp :: Num a => a -> Map k a -> Map k a -> Map k a #

liftU2 :: (a -> a -> a) -> Map k a -> Map k a -> Map k a #

liftI2 :: (a -> b -> c) -> Map k a -> Map k b -> Map k c #

Additive f => Additive (Point f) # 
Instance details

Defined in Linear.Affine

Methods

zero :: Num a => Point f a #

(^+^) :: Num a => Point f a -> Point f a -> Point f a #

(^-^) :: Num a => Point f a -> Point f a -> Point f a #

lerp :: Num a => a -> Point f a -> Point f a -> Point f a #

liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a #

liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c #

(Eq k, Hashable k) => Additive (HashMap k) # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => HashMap k a #

(^+^) :: Num a => HashMap k a -> HashMap k a -> HashMap k a #

(^-^) :: Num a => HashMap k a -> HashMap k a -> HashMap k a #

lerp :: Num a => a -> HashMap k a -> HashMap k a -> HashMap k a #

liftU2 :: (a -> a -> a) -> HashMap k a -> HashMap k a -> HashMap k a #

liftI2 :: (a -> b -> c) -> HashMap k a -> HashMap k b -> HashMap k c #

Dim n => Additive (V n) # 
Instance details

Defined in Linear.V

Methods

zero :: Num a => V n a #

(^+^) :: Num a => V n a -> V n a -> V n a #

(^-^) :: Num a => V n a -> V n a -> V n a #

lerp :: Num a => a -> V n a -> V n a -> V n a #

liftU2 :: (a -> a -> a) -> V n a -> V n a -> V n a #

liftI2 :: (a -> b -> c) -> V n a -> V n b -> V n c #

(Additive f, Additive g) => Additive (Product f g) # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Product f g a #

(^+^) :: Num a => Product f g a -> Product f g a -> Product f g a #

(^-^) :: Num a => Product f g a -> Product f g a -> Product f g a #

lerp :: Num a => a -> Product f g a -> Product f g a -> Product f g a #

liftU2 :: (a -> a -> a) -> Product f g a -> Product f g a -> Product f g a #

liftI2 :: (a -> b -> c) -> Product f g a -> Product f g b -> Product f g c #

Additive ((->) b) # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => b -> a #

(^+^) :: Num a => (b -> a) -> (b -> a) -> b -> a #

(^-^) :: Num a => (b -> a) -> (b -> a) -> b -> a #

lerp :: Num a => a -> (b -> a) -> (b -> a) -> b -> a #

liftU2 :: (a -> a -> a) -> (b -> a) -> (b -> a) -> b -> a #

liftI2 :: (a -> b0 -> c) -> (b -> a) -> (b -> b0) -> b -> c #

(Additive f, Additive g) => Additive (Compose f g) # 
Instance details

Defined in Linear.Vector

Methods

zero :: Num a => Compose f g a #

(^+^) :: Num a => Compose f g a -> Compose f g a -> Compose f g a #

(^-^) :: Num a => Compose f g a -> Compose f g a -> Compose f g a #

lerp :: Num a => a -> Compose f g a -> Compose f g a -> Compose f g a #

liftU2 :: (a -> a -> a) -> Compose f g a -> Compose f g a -> Compose f g a #

liftI2 :: (a -> b -> c) -> Compose f g a -> Compose f g b -> Compose f g c #

newtype E (t :: Type -> Type) #

Constructors

E 

Fields

  • el :: forall x. Lens' (t x) x
     

Instances

Instances details
Num r => Algebra r (E Complex) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E Complex -> E Complex -> r) -> E Complex -> r #

unital :: r -> E Complex -> r #

(Num r, TrivialConjugate r) => Algebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E Quaternion -> E Quaternion -> r) -> E Quaternion -> r #

unital :: r -> E Quaternion -> r #

Num r => Algebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V0 -> E V0 -> r) -> E V0 -> r #

unital :: r -> E V0 -> r #

Num r => Algebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

mult :: (E V1 -> E V1 -> r) -> E V1 -> r #

unital :: r -> E V1 -> r #

Num r => Coalgebra r (E Complex) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E Complex -> r) -> E Complex -> E Complex -> r #

counital :: (E Complex -> r) -> r #

(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E Quaternion -> r) -> E Quaternion -> E Quaternion -> r #

counital :: (E Quaternion -> r) -> r #

Num r => Coalgebra r (E V0) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V0 -> r) -> E V0 -> E V0 -> r #

counital :: (E V0 -> r) -> r #

Num r => Coalgebra r (E V1) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V1 -> r) -> E V1 -> E V1 -> r #

counital :: (E V1 -> r) -> r #

Num r => Coalgebra r (E V2) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r #

counital :: (E V2 -> r) -> r #

Num r => Coalgebra r (E V3) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r #

counital :: (E V3 -> r) -> r #

Num r => Coalgebra r (E V4) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r #

counital :: (E V4 -> r) -> r #

FoldableWithIndex (E Plucker) Plucker # 
Instance details

Defined in Linear.Plucker

Methods

ifoldMap :: Monoid m => (E Plucker -> a -> m) -> Plucker a -> m

ifoldMap' :: Monoid m => (E Plucker -> a -> m) -> Plucker a -> m

ifoldr :: (E Plucker -> a -> b -> b) -> b -> Plucker a -> b

ifoldl :: (E Plucker -> b -> a -> b) -> b -> Plucker a -> b

ifoldr' :: (E Plucker -> a -> b -> b) -> b -> Plucker a -> b

ifoldl' :: (E Plucker -> b -> a -> b) -> b -> Plucker a -> b

FoldableWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

ifoldMap :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m

ifoldMap' :: Monoid m => (E Quaternion -> a -> m) -> Quaternion a -> m

ifoldr :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b

ifoldl :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b

ifoldr' :: (E Quaternion -> a -> b -> b) -> b -> Quaternion a -> b

ifoldl' :: (E Quaternion -> b -> a -> b) -> b -> Quaternion a -> b

FoldableWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

ifoldMap :: Monoid m => (E V0 -> a -> m) -> V0 a -> m

ifoldMap' :: Monoid m => (E V0 -> a -> m) -> V0 a -> m

ifoldr :: (E V0 -> a -> b -> b) -> b -> V0 a -> b

ifoldl :: (E V0 -> b -> a -> b) -> b -> V0 a -> b

ifoldr' :: (E V0 -> a -> b -> b) -> b -> V0 a -> b

ifoldl' :: (E V0 -> b -> a -> b) -> b -> V0 a -> b

FoldableWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

ifoldMap :: Monoid m => (E V1 -> a -> m) -> V1 a -> m

ifoldMap' :: Monoid m => (E V1 -> a -> m) -> V1 a -> m

ifoldr :: (E V1 -> a -> b -> b) -> b -> V1 a -> b

ifoldl :: (E V1 -> b -> a -> b) -> b -> V1 a -> b

ifoldr' :: (E V1 -> a -> b -> b) -> b -> V1 a -> b

ifoldl' :: (E V1 -> b -> a -> b) -> b -> V1 a -> b

FoldableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

ifoldMap :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldMap' :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldr :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

ifoldr' :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl' :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

FoldableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

ifoldMap :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldMap' :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldr :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

ifoldr' :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl' :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

FoldableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

ifoldMap :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldMap' :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldr :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

ifoldr' :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl' :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

FunctorWithIndex (E Plucker) Plucker # 
Instance details

Defined in Linear.Plucker

Methods

imap :: (E Plucker -> a -> b) -> Plucker a -> Plucker b

FunctorWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

imap :: (E Quaternion -> a -> b) -> Quaternion a -> Quaternion b

FunctorWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

imap :: (E V0 -> a -> b) -> V0 a -> V0 b

FunctorWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

imap :: (E V1 -> a -> b) -> V1 a -> V1 b

FunctorWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

imap :: (E V2 -> a -> b) -> V2 a -> V2 b

FunctorWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

imap :: (E V3 -> a -> b) -> V3 a -> V3 b

FunctorWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

imap :: (E V4 -> a -> b) -> V4 a -> V4 b

TraversableWithIndex (E Plucker) Plucker # 
Instance details

Defined in Linear.Plucker

Methods

itraverse :: Applicative f => (E Plucker -> a -> f b) -> Plucker a -> f (Plucker b)

TraversableWithIndex (E Quaternion) Quaternion # 
Instance details

Defined in Linear.Quaternion

Methods

itraverse :: Applicative f => (E Quaternion -> a -> f b) -> Quaternion a -> f (Quaternion b)

TraversableWithIndex (E V0) V0 # 
Instance details

Defined in Linear.V0

Methods

itraverse :: Applicative f => (E V0 -> a -> f b) -> V0 a -> f (V0 b)

TraversableWithIndex (E V1) V1 # 
Instance details

Defined in Linear.V1

Methods

itraverse :: Applicative f => (E V1 -> a -> f b) -> V1 a -> f (V1 b)

TraversableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 b)

TraversableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 b)

TraversableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 b)

data family MVector s a #

Instances

Instances details
MVector MVector All # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s All -> Int

basicUnsafeSlice :: Int -> Int -> MVector s All -> MVector s All

basicOverlaps :: MVector s All -> MVector s All -> Bool

basicUnsafeNew :: Int -> ST s (MVector s All)

basicInitialize :: MVector s All -> ST s ()

basicUnsafeReplicate :: Int -> All -> ST s (MVector s All)

basicUnsafeRead :: MVector s All -> Int -> ST s All

basicUnsafeWrite :: MVector s All -> Int -> All -> ST s ()

basicClear :: MVector s All -> ST s ()

basicSet :: MVector s All -> All -> ST s ()

basicUnsafeCopy :: MVector s All -> MVector s All -> ST s ()

basicUnsafeMove :: MVector s All -> MVector s All -> ST s ()

basicUnsafeGrow :: MVector s All -> Int -> ST s (MVector s All)

MVector MVector Any # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Any -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Any -> MVector s Any

basicOverlaps :: MVector s Any -> MVector s Any -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Any)

basicInitialize :: MVector s Any -> ST s ()

basicUnsafeReplicate :: Int -> Any -> ST s (MVector s Any)

basicUnsafeRead :: MVector s Any -> Int -> ST s Any

basicUnsafeWrite :: MVector s Any -> Int -> Any -> ST s ()

basicClear :: MVector s Any -> ST s ()

basicSet :: MVector s Any -> Any -> ST s ()

basicUnsafeCopy :: MVector s Any -> MVector s Any -> ST s ()

basicUnsafeMove :: MVector s Any -> MVector s Any -> ST s ()

basicUnsafeGrow :: MVector s Any -> Int -> ST s (MVector s Any)

MVector MVector Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int16 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Int16 -> MVector s Int16

basicOverlaps :: MVector s Int16 -> MVector s Int16 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Int16)

basicInitialize :: MVector s Int16 -> ST s ()

basicUnsafeReplicate :: Int -> Int16 -> ST s (MVector s Int16)

basicUnsafeRead :: MVector s Int16 -> Int -> ST s Int16

basicUnsafeWrite :: MVector s Int16 -> Int -> Int16 -> ST s ()

basicClear :: MVector s Int16 -> ST s ()

basicSet :: MVector s Int16 -> Int16 -> ST s ()

basicUnsafeCopy :: MVector s Int16 -> MVector s Int16 -> ST s ()

basicUnsafeMove :: MVector s Int16 -> MVector s Int16 -> ST s ()

basicUnsafeGrow :: MVector s Int16 -> Int -> ST s (MVector s Int16)

MVector MVector Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int32 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Int32 -> MVector s Int32

basicOverlaps :: MVector s Int32 -> MVector s Int32 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Int32)

basicInitialize :: MVector s Int32 -> ST s ()

basicUnsafeReplicate :: Int -> Int32 -> ST s (MVector s Int32)

basicUnsafeRead :: MVector s Int32 -> Int -> ST s Int32

basicUnsafeWrite :: MVector s Int32 -> Int -> Int32 -> ST s ()

basicClear :: MVector s Int32 -> ST s ()

basicSet :: MVector s Int32 -> Int32 -> ST s ()

basicUnsafeCopy :: MVector s Int32 -> MVector s Int32 -> ST s ()

basicUnsafeMove :: MVector s Int32 -> MVector s Int32 -> ST s ()

basicUnsafeGrow :: MVector s Int32 -> Int -> ST s (MVector s Int32)

MVector MVector Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int64 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Int64 -> MVector s Int64

basicOverlaps :: MVector s Int64 -> MVector s Int64 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Int64)

basicInitialize :: MVector s Int64 -> ST s ()

basicUnsafeReplicate :: Int -> Int64 -> ST s (MVector s Int64)

basicUnsafeRead :: MVector s Int64 -> Int -> ST s Int64

basicUnsafeWrite :: MVector s Int64 -> Int -> Int64 -> ST s ()

basicClear :: MVector s Int64 -> ST s ()

basicSet :: MVector s Int64 -> Int64 -> ST s ()

basicUnsafeCopy :: MVector s Int64 -> MVector s Int64 -> ST s ()

basicUnsafeMove :: MVector s Int64 -> MVector s Int64 -> ST s ()

basicUnsafeGrow :: MVector s Int64 -> Int -> ST s (MVector s Int64)

MVector MVector Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int8 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Int8 -> MVector s Int8

basicOverlaps :: MVector s Int8 -> MVector s Int8 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Int8)

basicInitialize :: MVector s Int8 -> ST s ()

basicUnsafeReplicate :: Int -> Int8 -> ST s (MVector s Int8)

basicUnsafeRead :: MVector s Int8 -> Int -> ST s Int8

basicUnsafeWrite :: MVector s Int8 -> Int -> Int8 -> ST s ()

basicClear :: MVector s Int8 -> ST s ()

basicSet :: MVector s Int8 -> Int8 -> ST s ()

basicUnsafeCopy :: MVector s Int8 -> MVector s Int8 -> ST s ()

basicUnsafeMove :: MVector s Int8 -> MVector s Int8 -> ST s ()

basicUnsafeGrow :: MVector s Int8 -> Int -> ST s (MVector s Int8)

MVector MVector Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word16 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word16 -> MVector s Word16

basicOverlaps :: MVector s Word16 -> MVector s Word16 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Word16)

basicInitialize :: MVector s Word16 -> ST s ()

basicUnsafeReplicate :: Int -> Word16 -> ST s (MVector s Word16)

basicUnsafeRead :: MVector s Word16 -> Int -> ST s Word16

basicUnsafeWrite :: MVector s Word16 -> Int -> Word16 -> ST s ()

basicClear :: MVector s Word16 -> ST s ()

basicSet :: MVector s Word16 -> Word16 -> ST s ()

basicUnsafeCopy :: MVector s Word16 -> MVector s Word16 -> ST s ()

basicUnsafeMove :: MVector s Word16 -> MVector s Word16 -> ST s ()

basicUnsafeGrow :: MVector s Word16 -> Int -> ST s (MVector s Word16)

MVector MVector Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word32 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word32 -> MVector s Word32

basicOverlaps :: MVector s Word32 -> MVector s Word32 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Word32)

basicInitialize :: MVector s Word32 -> ST s ()

basicUnsafeReplicate :: Int -> Word32 -> ST s (MVector s Word32)

basicUnsafeRead :: MVector s Word32 -> Int -> ST s Word32

basicUnsafeWrite :: MVector s Word32 -> Int -> Word32 -> ST s ()

basicClear :: MVector s Word32 -> ST s ()

basicSet :: MVector s Word32 -> Word32 -> ST s ()

basicUnsafeCopy :: MVector s Word32 -> MVector s Word32 -> ST s ()

basicUnsafeMove :: MVector s Word32 -> MVector s Word32 -> ST s ()

basicUnsafeGrow :: MVector s Word32 -> Int -> ST s (MVector s Word32)

MVector MVector Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word64 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word64 -> MVector s Word64

basicOverlaps :: MVector s Word64 -> MVector s Word64 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Word64)

basicInitialize :: MVector s Word64 -> ST s ()

basicUnsafeReplicate :: Int -> Word64 -> ST s (MVector s Word64)

basicUnsafeRead :: MVector s Word64 -> Int -> ST s Word64

basicUnsafeWrite :: MVector s Word64 -> Int -> Word64 -> ST s ()

basicClear :: MVector s Word64 -> ST s ()

basicSet :: MVector s Word64 -> Word64 -> ST s ()

basicUnsafeCopy :: MVector s Word64 -> MVector s Word64 -> ST s ()

basicUnsafeMove :: MVector s Word64 -> MVector s Word64 -> ST s ()

basicUnsafeGrow :: MVector s Word64 -> Int -> ST s (MVector s Word64)

MVector MVector Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word8 -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word8 -> MVector s Word8

basicOverlaps :: MVector s Word8 -> MVector s Word8 -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Word8)

basicInitialize :: MVector s Word8 -> ST s ()

basicUnsafeReplicate :: Int -> Word8 -> ST s (MVector s Word8)

basicUnsafeRead :: MVector s Word8 -> Int -> ST s Word8

basicUnsafeWrite :: MVector s Word8 -> Int -> Word8 -> ST s ()

basicClear :: MVector s Word8 -> ST s ()

basicSet :: MVector s Word8 -> Word8 -> ST s ()

basicUnsafeCopy :: MVector s Word8 -> MVector s Word8 -> ST s ()

basicUnsafeMove :: MVector s Word8 -> MVector s Word8 -> ST s ()

basicUnsafeGrow :: MVector s Word8 -> Int -> ST s (MVector s Word8)

MVector MVector () # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s () -> Int

basicUnsafeSlice :: Int -> Int -> MVector s () -> MVector s ()

basicOverlaps :: MVector s () -> MVector s () -> Bool

basicUnsafeNew :: Int -> ST s (MVector s ())

basicInitialize :: MVector s () -> ST s ()

basicUnsafeReplicate :: Int -> () -> ST s (MVector s ())

basicUnsafeRead :: MVector s () -> Int -> ST s ()

basicUnsafeWrite :: MVector s () -> Int -> () -> ST s ()

basicClear :: MVector s () -> ST s ()

basicSet :: MVector s () -> () -> ST s ()

basicUnsafeCopy :: MVector s () -> MVector s () -> ST s ()

basicUnsafeMove :: MVector s () -> MVector s () -> ST s ()

basicUnsafeGrow :: MVector s () -> Int -> ST s (MVector s ())

MVector MVector Bool # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Bool -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Bool -> MVector s Bool

basicOverlaps :: MVector s Bool -> MVector s Bool -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Bool)

basicInitialize :: MVector s Bool -> ST s ()

basicUnsafeReplicate :: Int -> Bool -> ST s (MVector s Bool)

basicUnsafeRead :: MVector s Bool -> Int -> ST s Bool

basicUnsafeWrite :: MVector s Bool -> Int -> Bool -> ST s ()

basicClear :: MVector s Bool -> ST s ()

basicSet :: MVector s Bool -> Bool -> ST s ()

basicUnsafeCopy :: MVector s Bool -> MVector s Bool -> ST s ()

basicUnsafeMove :: MVector s Bool -> MVector s Bool -> ST s ()

basicUnsafeGrow :: MVector s Bool -> Int -> ST s (MVector s Bool)

MVector MVector Char # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Char -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Char -> MVector s Char

basicOverlaps :: MVector s Char -> MVector s Char -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Char)

basicInitialize :: MVector s Char -> ST s ()

basicUnsafeReplicate :: Int -> Char -> ST s (MVector s Char)

basicUnsafeRead :: MVector s Char -> Int -> ST s Char

basicUnsafeWrite :: MVector s Char -> Int -> Char -> ST s ()

basicClear :: MVector s Char -> ST s ()

basicSet :: MVector s Char -> Char -> ST s ()

basicUnsafeCopy :: MVector s Char -> MVector s Char -> ST s ()

basicUnsafeMove :: MVector s Char -> MVector s Char -> ST s ()

basicUnsafeGrow :: MVector s Char -> Int -> ST s (MVector s Char)

MVector MVector Double # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Double -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Double -> MVector s Double

basicOverlaps :: MVector s Double -> MVector s Double -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Double)

basicInitialize :: MVector s Double -> ST s ()

basicUnsafeReplicate :: Int -> Double -> ST s (MVector s Double)

basicUnsafeRead :: MVector s Double -> Int -> ST s Double

basicUnsafeWrite :: MVector s Double -> Int -> Double -> ST s ()

basicClear :: MVector s Double -> ST s ()

basicSet :: MVector s Double -> Double -> ST s ()

basicUnsafeCopy :: MVector s Double -> MVector s Double -> ST s ()

basicUnsafeMove :: MVector s Double -> MVector s Double -> ST s ()

basicUnsafeGrow :: MVector s Double -> Int -> ST s (MVector s Double)

MVector MVector Float # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Float -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Float -> MVector s Float

basicOverlaps :: MVector s Float -> MVector s Float -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Float)

basicInitialize :: MVector s Float -> ST s ()

basicUnsafeReplicate :: Int -> Float -> ST s (MVector s Float)

basicUnsafeRead :: MVector s Float -> Int -> ST s Float

basicUnsafeWrite :: MVector s Float -> Int -> Float -> ST s ()

basicClear :: MVector s Float -> ST s ()

basicSet :: MVector s Float -> Float -> ST s ()

basicUnsafeCopy :: MVector s Float -> MVector s Float -> ST s ()

basicUnsafeMove :: MVector s Float -> MVector s Float -> ST s ()

basicUnsafeGrow :: MVector s Float -> Int -> ST s (MVector s Float)

MVector MVector Int # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Int -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Int -> MVector s Int

basicOverlaps :: MVector s Int -> MVector s Int -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Int)

basicInitialize :: MVector s Int -> ST s ()

basicUnsafeReplicate :: Int -> Int -> ST s (MVector s Int)

basicUnsafeRead :: MVector s Int -> Int -> ST s Int

basicUnsafeWrite :: MVector s Int -> Int -> Int -> ST s ()

basicClear :: MVector s Int -> ST s ()

basicSet :: MVector s Int -> Int -> ST s ()

basicUnsafeCopy :: MVector s Int -> MVector s Int -> ST s ()

basicUnsafeMove :: MVector s Int -> MVector s Int -> ST s ()

basicUnsafeGrow :: MVector s Int -> Int -> ST s (MVector s Int)

MVector MVector Word # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s Word -> Int

basicUnsafeSlice :: Int -> Int -> MVector s Word -> MVector s Word

basicOverlaps :: MVector s Word -> MVector s Word -> Bool

basicUnsafeNew :: Int -> ST s (MVector s Word)

basicInitialize :: MVector s Word -> ST s ()

basicUnsafeReplicate :: Int -> Word -> ST s (MVector s Word)

basicUnsafeRead :: MVector s Word -> Int -> ST s Word

basicUnsafeWrite :: MVector s Word -> Int -> Word -> ST s ()

basicClear :: MVector s Word -> ST s ()

basicSet :: MVector s Word -> Word -> ST s ()

basicUnsafeCopy :: MVector s Word -> MVector s Word -> ST s ()

basicUnsafeMove :: MVector s Word -> MVector s Word -> ST s ()

basicUnsafeGrow :: MVector s Word -> Int -> ST s (MVector s Word)

Unbox a => MVector MVector (Complex a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Complex a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Complex a) -> MVector s (Complex a)

basicOverlaps :: MVector s (Complex a) -> MVector s (Complex a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Complex a))

basicInitialize :: MVector s (Complex a) -> ST s ()

basicUnsafeReplicate :: Int -> Complex a -> ST s (MVector s (Complex a))

basicUnsafeRead :: MVector s (Complex a) -> Int -> ST s (Complex a)

basicUnsafeWrite :: MVector s (Complex a) -> Int -> Complex a -> ST s ()

basicClear :: MVector s (Complex a) -> ST s ()

basicSet :: MVector s (Complex a) -> Complex a -> ST s ()

basicUnsafeCopy :: MVector s (Complex a) -> MVector s (Complex a) -> ST s ()

basicUnsafeMove :: MVector s (Complex a) -> MVector s (Complex a) -> ST s ()

basicUnsafeGrow :: MVector s (Complex a) -> Int -> ST s (MVector s (Complex a))

Unbox a => MVector MVector (First a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (First a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (First a) -> MVector s (First a)

basicOverlaps :: MVector s (First a) -> MVector s (First a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (First a))

basicInitialize :: MVector s (First a) -> ST s ()

basicUnsafeReplicate :: Int -> First a -> ST s (MVector s (First a))

basicUnsafeRead :: MVector s (First a) -> Int -> ST s (First a)

basicUnsafeWrite :: MVector s (First a) -> Int -> First a -> ST s ()

basicClear :: MVector s (First a) -> ST s ()

basicSet :: MVector s (First a) -> First a -> ST s ()

basicUnsafeCopy :: MVector s (First a) -> MVector s (First a) -> ST s ()

basicUnsafeMove :: MVector s (First a) -> MVector s (First a) -> ST s ()

basicUnsafeGrow :: MVector s (First a) -> Int -> ST s (MVector s (First a))

Unbox a => MVector MVector (Last a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Last a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Last a) -> MVector s (Last a)

basicOverlaps :: MVector s (Last a) -> MVector s (Last a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Last a))

basicInitialize :: MVector s (Last a) -> ST s ()

basicUnsafeReplicate :: Int -> Last a -> ST s (MVector s (Last a))

basicUnsafeRead :: MVector s (Last a) -> Int -> ST s (Last a)

basicUnsafeWrite :: MVector s (Last a) -> Int -> Last a -> ST s ()

basicClear :: MVector s (Last a) -> ST s ()

basicSet :: MVector s (Last a) -> Last a -> ST s ()

basicUnsafeCopy :: MVector s (Last a) -> MVector s (Last a) -> ST s ()

basicUnsafeMove :: MVector s (Last a) -> MVector s (Last a) -> ST s ()

basicUnsafeGrow :: MVector s (Last a) -> Int -> ST s (MVector s (Last a))

Unbox a => MVector MVector (Max a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Max a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Max a) -> MVector s (Max a)

basicOverlaps :: MVector s (Max a) -> MVector s (Max a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Max a))

basicInitialize :: MVector s (Max a) -> ST s ()

basicUnsafeReplicate :: Int -> Max a -> ST s (MVector s (Max a))

basicUnsafeRead :: MVector s (Max a) -> Int -> ST s (Max a)

basicUnsafeWrite :: MVector s (Max a) -> Int -> Max a -> ST s ()

basicClear :: MVector s (Max a) -> ST s ()

basicSet :: MVector s (Max a) -> Max a -> ST s ()

basicUnsafeCopy :: MVector s (Max a) -> MVector s (Max a) -> ST s ()

basicUnsafeMove :: MVector s (Max a) -> MVector s (Max a) -> ST s ()

basicUnsafeGrow :: MVector s (Max a) -> Int -> ST s (MVector s (Max a))

Unbox a => MVector MVector (Min a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Min a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Min a) -> MVector s (Min a)

basicOverlaps :: MVector s (Min a) -> MVector s (Min a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Min a))

basicInitialize :: MVector s (Min a) -> ST s ()

basicUnsafeReplicate :: Int -> Min a -> ST s (MVector s (Min a))

basicUnsafeRead :: MVector s (Min a) -> Int -> ST s (Min a)

basicUnsafeWrite :: MVector s (Min a) -> Int -> Min a -> ST s ()

basicClear :: MVector s (Min a) -> ST s ()

basicSet :: MVector s (Min a) -> Min a -> ST s ()

basicUnsafeCopy :: MVector s (Min a) -> MVector s (Min a) -> ST s ()

basicUnsafeMove :: MVector s (Min a) -> MVector s (Min a) -> ST s ()

basicUnsafeGrow :: MVector s (Min a) -> Int -> ST s (MVector s (Min a))

Unbox a => MVector MVector (WrappedMonoid a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (WrappedMonoid a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a)

basicOverlaps :: MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (WrappedMonoid a))

basicInitialize :: MVector s (WrappedMonoid a) -> ST s ()

basicUnsafeReplicate :: Int -> WrappedMonoid a -> ST s (MVector s (WrappedMonoid a))

basicUnsafeRead :: MVector s (WrappedMonoid a) -> Int -> ST s (WrappedMonoid a)

basicUnsafeWrite :: MVector s (WrappedMonoid a) -> Int -> WrappedMonoid a -> ST s ()

basicClear :: MVector s (WrappedMonoid a) -> ST s ()

basicSet :: MVector s (WrappedMonoid a) -> WrappedMonoid a -> ST s ()

basicUnsafeCopy :: MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a) -> ST s ()

basicUnsafeMove :: MVector s (WrappedMonoid a) -> MVector s (WrappedMonoid a) -> ST s ()

basicUnsafeGrow :: MVector s (WrappedMonoid a) -> Int -> ST s (MVector s (WrappedMonoid a))

Unbox a => MVector MVector (Identity a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Identity a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Identity a) -> MVector s (Identity a)

basicOverlaps :: MVector s (Identity a) -> MVector s (Identity a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Identity a))

basicInitialize :: MVector s (Identity a) -> ST s ()

basicUnsafeReplicate :: Int -> Identity a -> ST s (MVector s (Identity a))

basicUnsafeRead :: MVector s (Identity a) -> Int -> ST s (Identity a)

basicUnsafeWrite :: MVector s (Identity a) -> Int -> Identity a -> ST s ()

basicClear :: MVector s (Identity a) -> ST s ()

basicSet :: MVector s (Identity a) -> Identity a -> ST s ()

basicUnsafeCopy :: MVector s (Identity a) -> MVector s (Identity a) -> ST s ()

basicUnsafeMove :: MVector s (Identity a) -> MVector s (Identity a) -> ST s ()

basicUnsafeGrow :: MVector s (Identity a) -> Int -> ST s (MVector s (Identity a))

Unbox a => MVector MVector (Down a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Down a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Down a) -> MVector s (Down a)

basicOverlaps :: MVector s (Down a) -> MVector s (Down a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Down a))

basicInitialize :: MVector s (Down a) -> ST s ()

basicUnsafeReplicate :: Int -> Down a -> ST s (MVector s (Down a))

basicUnsafeRead :: MVector s (Down a) -> Int -> ST s (Down a)

basicUnsafeWrite :: MVector s (Down a) -> Int -> Down a -> ST s ()

basicClear :: MVector s (Down a) -> ST s ()

basicSet :: MVector s (Down a) -> Down a -> ST s ()

basicUnsafeCopy :: MVector s (Down a) -> MVector s (Down a) -> ST s ()

basicUnsafeMove :: MVector s (Down a) -> MVector s (Down a) -> ST s ()

basicUnsafeGrow :: MVector s (Down a) -> Int -> ST s (MVector s (Down a))

Unbox a => MVector MVector (Dual a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Dual a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Dual a) -> MVector s (Dual a)

basicOverlaps :: MVector s (Dual a) -> MVector s (Dual a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Dual a))

basicInitialize :: MVector s (Dual a) -> ST s ()

basicUnsafeReplicate :: Int -> Dual a -> ST s (MVector s (Dual a))

basicUnsafeRead :: MVector s (Dual a) -> Int -> ST s (Dual a)

basicUnsafeWrite :: MVector s (Dual a) -> Int -> Dual a -> ST s ()

basicClear :: MVector s (Dual a) -> ST s ()

basicSet :: MVector s (Dual a) -> Dual a -> ST s ()

basicUnsafeCopy :: MVector s (Dual a) -> MVector s (Dual a) -> ST s ()

basicUnsafeMove :: MVector s (Dual a) -> MVector s (Dual a) -> ST s ()

basicUnsafeGrow :: MVector s (Dual a) -> Int -> ST s (MVector s (Dual a))

Unbox a => MVector MVector (Product a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Product a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Product a) -> MVector s (Product a)

basicOverlaps :: MVector s (Product a) -> MVector s (Product a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Product a))

basicInitialize :: MVector s (Product a) -> ST s ()

basicUnsafeReplicate :: Int -> Product a -> ST s (MVector s (Product a))

basicUnsafeRead :: MVector s (Product a) -> Int -> ST s (Product a)

basicUnsafeWrite :: MVector s (Product a) -> Int -> Product a -> ST s ()

basicClear :: MVector s (Product a) -> ST s ()

basicSet :: MVector s (Product a) -> Product a -> ST s ()

basicUnsafeCopy :: MVector s (Product a) -> MVector s (Product a) -> ST s ()

basicUnsafeMove :: MVector s (Product a) -> MVector s (Product a) -> ST s ()

basicUnsafeGrow :: MVector s (Product a) -> Int -> ST s (MVector s (Product a))

Unbox a => MVector MVector (Sum a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Sum a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Sum a) -> MVector s (Sum a)

basicOverlaps :: MVector s (Sum a) -> MVector s (Sum a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Sum a))

basicInitialize :: MVector s (Sum a) -> ST s ()

basicUnsafeReplicate :: Int -> Sum a -> ST s (MVector s (Sum a))

basicUnsafeRead :: MVector s (Sum a) -> Int -> ST s (Sum a)

basicUnsafeWrite :: MVector s (Sum a) -> Int -> Sum a -> ST s ()

basicClear :: MVector s (Sum a) -> ST s ()

basicSet :: MVector s (Sum a) -> Sum a -> ST s ()

basicUnsafeCopy :: MVector s (Sum a) -> MVector s (Sum a) -> ST s ()

basicUnsafeMove :: MVector s (Sum a) -> MVector s (Sum a) -> ST s ()

basicUnsafeGrow :: MVector s (Sum a) -> Int -> ST s (MVector s (Sum a))

Unbox a => MVector MVector (Plucker a) # 
Instance details

Defined in Linear.Plucker

Methods

basicLength :: MVector s (Plucker a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Plucker a) -> MVector s (Plucker a)

basicOverlaps :: MVector s (Plucker a) -> MVector s (Plucker a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Plucker a))

basicInitialize :: MVector s (Plucker a) -> ST s ()

basicUnsafeReplicate :: Int -> Plucker a -> ST s (MVector s (Plucker a))

basicUnsafeRead :: MVector s (Plucker a) -> Int -> ST s (Plucker a)

basicUnsafeWrite :: MVector s (Plucker a) -> Int -> Plucker a -> ST s ()

basicClear :: MVector s (Plucker a) -> ST s ()

basicSet :: MVector s (Plucker a) -> Plucker a -> ST s ()

basicUnsafeCopy :: MVector s (Plucker a) -> MVector s (Plucker a) -> ST s ()

basicUnsafeMove :: MVector s (Plucker a) -> MVector s (Plucker a) -> ST s ()

basicUnsafeGrow :: MVector s (Plucker a) -> Int -> ST s (MVector s (Plucker a))

Unbox a => MVector MVector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

basicLength :: MVector s (Quaternion a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Quaternion a) -> MVector s (Quaternion a)

basicOverlaps :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Quaternion a))

basicInitialize :: MVector s (Quaternion a) -> ST s ()

basicUnsafeReplicate :: Int -> Quaternion a -> ST s (MVector s (Quaternion a))

basicUnsafeRead :: MVector s (Quaternion a) -> Int -> ST s (Quaternion a)

basicUnsafeWrite :: MVector s (Quaternion a) -> Int -> Quaternion a -> ST s ()

basicClear :: MVector s (Quaternion a) -> ST s ()

basicSet :: MVector s (Quaternion a) -> Quaternion a -> ST s ()

basicUnsafeCopy :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> ST s ()

basicUnsafeMove :: MVector s (Quaternion a) -> MVector s (Quaternion a) -> ST s ()

basicUnsafeGrow :: MVector s (Quaternion a) -> Int -> ST s (MVector s (Quaternion a))

MVector MVector (V0 a) # 
Instance details

Defined in Linear.V0

Methods

basicLength :: MVector s (V0 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V0 a) -> MVector s (V0 a)

basicOverlaps :: MVector s (V0 a) -> MVector s (V0 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V0 a))

basicInitialize :: MVector s (V0 a) -> ST s ()

basicUnsafeReplicate :: Int -> V0 a -> ST s (MVector s (V0 a))

basicUnsafeRead :: MVector s (V0 a) -> Int -> ST s (V0 a)

basicUnsafeWrite :: MVector s (V0 a) -> Int -> V0 a -> ST s ()

basicClear :: MVector s (V0 a) -> ST s ()

basicSet :: MVector s (V0 a) -> V0 a -> ST s ()

basicUnsafeCopy :: MVector s (V0 a) -> MVector s (V0 a) -> ST s ()

basicUnsafeMove :: MVector s (V0 a) -> MVector s (V0 a) -> ST s ()

basicUnsafeGrow :: MVector s (V0 a) -> Int -> ST s (MVector s (V0 a))

Unbox a => MVector MVector (V1 a) # 
Instance details

Defined in Linear.V1

Methods

basicLength :: MVector s (V1 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V1 a) -> MVector s (V1 a)

basicOverlaps :: MVector s (V1 a) -> MVector s (V1 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V1 a))

basicInitialize :: MVector s (V1 a) -> ST s ()

basicUnsafeReplicate :: Int -> V1 a -> ST s (MVector s (V1 a))

basicUnsafeRead :: MVector s (V1 a) -> Int -> ST s (V1 a)

basicUnsafeWrite :: MVector s (V1 a) -> Int -> V1 a -> ST s ()

basicClear :: MVector s (V1 a) -> ST s ()

basicSet :: MVector s (V1 a) -> V1 a -> ST s ()

basicUnsafeCopy :: MVector s (V1 a) -> MVector s (V1 a) -> ST s ()

basicUnsafeMove :: MVector s (V1 a) -> MVector s (V1 a) -> ST s ()

basicUnsafeGrow :: MVector s (V1 a) -> Int -> ST s (MVector s (V1 a))

Unbox a => MVector MVector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicLength :: MVector s (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a)

basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V2 a))

basicInitialize :: MVector s (V2 a) -> ST s ()

basicUnsafeReplicate :: Int -> V2 a -> ST s (MVector s (V2 a))

basicUnsafeRead :: MVector s (V2 a) -> Int -> ST s (V2 a)

basicUnsafeWrite :: MVector s (V2 a) -> Int -> V2 a -> ST s ()

basicClear :: MVector s (V2 a) -> ST s ()

basicSet :: MVector s (V2 a) -> V2 a -> ST s ()

basicUnsafeCopy :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeMove :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeGrow :: MVector s (V2 a) -> Int -> ST s (MVector s (V2 a))

Unbox a => MVector MVector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicLength :: MVector s (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a)

basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V3 a))

basicInitialize :: MVector s (V3 a) -> ST s ()

basicUnsafeReplicate :: Int -> V3 a -> ST s (MVector s (V3 a))

basicUnsafeRead :: MVector s (V3 a) -> Int -> ST s (V3 a)

basicUnsafeWrite :: MVector s (V3 a) -> Int -> V3 a -> ST s ()

basicClear :: MVector s (V3 a) -> ST s ()

basicSet :: MVector s (V3 a) -> V3 a -> ST s ()

basicUnsafeCopy :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeMove :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeGrow :: MVector s (V3 a) -> Int -> ST s (MVector s (V3 a))

Unbox a => MVector MVector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicLength :: MVector s (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a)

basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V4 a))

basicInitialize :: MVector s (V4 a) -> ST s ()

basicUnsafeReplicate :: Int -> V4 a -> ST s (MVector s (V4 a))

basicUnsafeRead :: MVector s (V4 a) -> Int -> ST s (V4 a)

basicUnsafeWrite :: MVector s (V4 a) -> Int -> V4 a -> ST s ()

basicClear :: MVector s (V4 a) -> ST s ()

basicSet :: MVector s (V4 a) -> V4 a -> ST s ()

basicUnsafeCopy :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeMove :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeGrow :: MVector s (V4 a) -> Int -> ST s (MVector s (V4 a))

Unbox a => MVector MVector (V2 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicLength :: MVector s (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a)

basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V2 a))

basicInitialize :: MVector s (V2 a) -> ST s ()

basicUnsafeReplicate :: Int -> V2 a -> ST s (MVector s (V2 a))

basicUnsafeRead :: MVector s (V2 a) -> Int -> ST s (V2 a)

basicUnsafeWrite :: MVector s (V2 a) -> Int -> V2 a -> ST s ()

basicClear :: MVector s (V2 a) -> ST s ()

basicSet :: MVector s (V2 a) -> V2 a -> ST s ()

basicUnsafeCopy :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeMove :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeGrow :: MVector s (V2 a) -> Int -> ST s (MVector s (V2 a))

Unbox a => MVector MVector (V3 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicLength :: MVector s (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a)

basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V3 a))

basicInitialize :: MVector s (V3 a) -> ST s ()

basicUnsafeReplicate :: Int -> V3 a -> ST s (MVector s (V3 a))

basicUnsafeRead :: MVector s (V3 a) -> Int -> ST s (V3 a)

basicUnsafeWrite :: MVector s (V3 a) -> Int -> V3 a -> ST s ()

basicClear :: MVector s (V3 a) -> ST s ()

basicSet :: MVector s (V3 a) -> V3 a -> ST s ()

basicUnsafeCopy :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeMove :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeGrow :: MVector s (V3 a) -> Int -> ST s (MVector s (V3 a))

Unbox a => MVector MVector (V4 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicLength :: MVector s (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a)

basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V4 a))

basicInitialize :: MVector s (V4 a) -> ST s ()

basicUnsafeReplicate :: Int -> V4 a -> ST s (MVector s (V4 a))

basicUnsafeRead :: MVector s (V4 a) -> Int -> ST s (V4 a)

basicUnsafeWrite :: MVector s (V4 a) -> Int -> V4 a -> ST s ()

basicClear :: MVector s (V4 a) -> ST s ()

basicSet :: MVector s (V4 a) -> V4 a -> ST s ()

basicUnsafeCopy :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeMove :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeGrow :: MVector s (V4 a) -> Int -> ST s (MVector s (V4 a))

Unbox a => MVector MVector (Rectangle a) 
Instance details

Defined in SDL.Video.Renderer

Methods

basicLength :: MVector s (Rectangle a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Rectangle a) -> MVector s (Rectangle a)

basicOverlaps :: MVector s (Rectangle a) -> MVector s (Rectangle a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Rectangle a))

basicInitialize :: MVector s (Rectangle a) -> ST s ()

basicUnsafeReplicate :: Int -> Rectangle a -> ST s (MVector s (Rectangle a))

basicUnsafeRead :: MVector s (Rectangle a) -> Int -> ST s (Rectangle a)

basicUnsafeWrite :: MVector s (Rectangle a) -> Int -> Rectangle a -> ST s ()

basicClear :: MVector s (Rectangle a) -> ST s ()

basicSet :: MVector s (Rectangle a) -> Rectangle a -> ST s ()

basicUnsafeCopy :: MVector s (Rectangle a) -> MVector s (Rectangle a) -> ST s ()

basicUnsafeMove :: MVector s (Rectangle a) -> MVector s (Rectangle a) -> ST s ()

basicUnsafeGrow :: MVector s (Rectangle a) -> Int -> ST s (MVector s (Rectangle a))

MVector MVector (DoNotUnboxLazy a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (DoNotUnboxLazy a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (DoNotUnboxLazy a) -> MVector s (DoNotUnboxLazy a)

basicOverlaps :: MVector s (DoNotUnboxLazy a) -> MVector s (DoNotUnboxLazy a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (DoNotUnboxLazy a))

basicInitialize :: MVector s (DoNotUnboxLazy a) -> ST s ()

basicUnsafeReplicate :: Int -> DoNotUnboxLazy a -> ST s (MVector s (DoNotUnboxLazy a))

basicUnsafeRead :: MVector s (DoNotUnboxLazy a) -> Int -> ST s (DoNotUnboxLazy a)

basicUnsafeWrite :: MVector s (DoNotUnboxLazy a) -> Int -> DoNotUnboxLazy a -> ST s ()

basicClear :: MVector s (DoNotUnboxLazy a) -> ST s ()

basicSet :: MVector s (DoNotUnboxLazy a) -> DoNotUnboxLazy a -> ST s ()

basicUnsafeCopy :: MVector s (DoNotUnboxLazy a) -> MVector s (DoNotUnboxLazy a) -> ST s ()

basicUnsafeMove :: MVector s (DoNotUnboxLazy a) -> MVector s (DoNotUnboxLazy a) -> ST s ()

basicUnsafeGrow :: MVector s (DoNotUnboxLazy a) -> Int -> ST s (MVector s (DoNotUnboxLazy a))

NFData a => MVector MVector (DoNotUnboxNormalForm a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (DoNotUnboxNormalForm a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (DoNotUnboxNormalForm a) -> MVector s (DoNotUnboxNormalForm a)

basicOverlaps :: MVector s (DoNotUnboxNormalForm a) -> MVector s (DoNotUnboxNormalForm a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (DoNotUnboxNormalForm a))

basicInitialize :: MVector s (DoNotUnboxNormalForm a) -> ST s ()

basicUnsafeReplicate :: Int -> DoNotUnboxNormalForm a -> ST s (MVector s (DoNotUnboxNormalForm a))

basicUnsafeRead :: MVector s (DoNotUnboxNormalForm a) -> Int -> ST s (DoNotUnboxNormalForm a)

basicUnsafeWrite :: MVector s (DoNotUnboxNormalForm a) -> Int -> DoNotUnboxNormalForm a -> ST s ()

basicClear :: MVector s (DoNotUnboxNormalForm a) -> ST s ()

basicSet :: MVector s (DoNotUnboxNormalForm a) -> DoNotUnboxNormalForm a -> ST s ()

basicUnsafeCopy :: MVector s (DoNotUnboxNormalForm a) -> MVector s (DoNotUnboxNormalForm a) -> ST s ()

basicUnsafeMove :: MVector s (DoNotUnboxNormalForm a) -> MVector s (DoNotUnboxNormalForm a) -> ST s ()

basicUnsafeGrow :: MVector s (DoNotUnboxNormalForm a) -> Int -> ST s (MVector s (DoNotUnboxNormalForm a))

MVector MVector (DoNotUnboxStrict a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (DoNotUnboxStrict a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (DoNotUnboxStrict a) -> MVector s (DoNotUnboxStrict a)

basicOverlaps :: MVector s (DoNotUnboxStrict a) -> MVector s (DoNotUnboxStrict a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (DoNotUnboxStrict a))

basicInitialize :: MVector s (DoNotUnboxStrict a) -> ST s ()

basicUnsafeReplicate :: Int -> DoNotUnboxStrict a -> ST s (MVector s (DoNotUnboxStrict a))

basicUnsafeRead :: MVector s (DoNotUnboxStrict a) -> Int -> ST s (DoNotUnboxStrict a)

basicUnsafeWrite :: MVector s (DoNotUnboxStrict a) -> Int -> DoNotUnboxStrict a -> ST s ()

basicClear :: MVector s (DoNotUnboxStrict a) -> ST s ()

basicSet :: MVector s (DoNotUnboxStrict a) -> DoNotUnboxStrict a -> ST s ()

basicUnsafeCopy :: MVector s (DoNotUnboxStrict a) -> MVector s (DoNotUnboxStrict a) -> ST s ()

basicUnsafeMove :: MVector s (DoNotUnboxStrict a) -> MVector s (DoNotUnboxStrict a) -> ST s ()

basicUnsafeGrow :: MVector s (DoNotUnboxStrict a) -> Int -> ST s (MVector s (DoNotUnboxStrict a))

Prim a => MVector MVector (UnboxViaPrim a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (UnboxViaPrim a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (UnboxViaPrim a) -> MVector s (UnboxViaPrim a)

basicOverlaps :: MVector s (UnboxViaPrim a) -> MVector s (UnboxViaPrim a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (UnboxViaPrim a))

basicInitialize :: MVector s (UnboxViaPrim a) -> ST s ()

basicUnsafeReplicate :: Int -> UnboxViaPrim a -> ST s (MVector s (UnboxViaPrim a))

basicUnsafeRead :: MVector s (UnboxViaPrim a) -> Int -> ST s (UnboxViaPrim a)

basicUnsafeWrite :: MVector s (UnboxViaPrim a) -> Int -> UnboxViaPrim a -> ST s ()

basicClear :: MVector s (UnboxViaPrim a) -> ST s ()

basicSet :: MVector s (UnboxViaPrim a) -> UnboxViaPrim a -> ST s ()

basicUnsafeCopy :: MVector s (UnboxViaPrim a) -> MVector s (UnboxViaPrim a) -> ST s ()

basicUnsafeMove :: MVector s (UnboxViaPrim a) -> MVector s (UnboxViaPrim a) -> ST s ()

basicUnsafeGrow :: MVector s (UnboxViaPrim a) -> Int -> ST s (MVector s (UnboxViaPrim a))

(Unbox a, Unbox b) => MVector MVector (Arg a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Arg a b) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Arg a b) -> MVector s (Arg a b)

basicOverlaps :: MVector s (Arg a b) -> MVector s (Arg a b) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Arg a b))

basicInitialize :: MVector s (Arg a b) -> ST s ()

basicUnsafeReplicate :: Int -> Arg a b -> ST s (MVector s (Arg a b))

basicUnsafeRead :: MVector s (Arg a b) -> Int -> ST s (Arg a b)

basicUnsafeWrite :: MVector s (Arg a b) -> Int -> Arg a b -> ST s ()

basicClear :: MVector s (Arg a b) -> ST s ()

basicSet :: MVector s (Arg a b) -> Arg a b -> ST s ()

basicUnsafeCopy :: MVector s (Arg a b) -> MVector s (Arg a b) -> ST s ()

basicUnsafeMove :: MVector s (Arg a b) -> MVector s (Arg a b) -> ST s ()

basicUnsafeGrow :: MVector s (Arg a b) -> Int -> ST s (MVector s (Arg a b))

Unbox (f a) => MVector MVector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicLength :: MVector s (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a)

basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Point f a))

basicInitialize :: MVector s (Point f a) -> ST s ()

basicUnsafeReplicate :: Int -> Point f a -> ST s (MVector s (Point f a))

basicUnsafeRead :: MVector s (Point f a) -> Int -> ST s (Point f a)

basicUnsafeWrite :: MVector s (Point f a) -> Int -> Point f a -> ST s ()

basicClear :: MVector s (Point f a) -> ST s ()

basicSet :: MVector s (Point f a) -> Point f a -> ST s ()

basicUnsafeCopy :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeMove :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeGrow :: MVector s (Point f a) -> Int -> ST s (MVector s (Point f a))

Unbox (f a) => MVector MVector (Point f a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicLength :: MVector s (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a)

basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Point f a))

basicInitialize :: MVector s (Point f a) -> ST s ()

basicUnsafeReplicate :: Int -> Point f a -> ST s (MVector s (Point f a))

basicUnsafeRead :: MVector s (Point f a) -> Int -> ST s (Point f a)

basicUnsafeWrite :: MVector s (Point f a) -> Int -> Point f a -> ST s ()

basicClear :: MVector s (Point f a) -> ST s ()

basicSet :: MVector s (Point f a) -> Point f a -> ST s ()

basicUnsafeCopy :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeMove :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeGrow :: MVector s (Point f a) -> Int -> ST s (MVector s (Point f a))

(IsoUnbox a b, Unbox b) => MVector MVector (As a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (As a b) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (As a b) -> MVector s (As a b)

basicOverlaps :: MVector s (As a b) -> MVector s (As a b) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (As a b))

basicInitialize :: MVector s (As a b) -> ST s ()

basicUnsafeReplicate :: Int -> As a b -> ST s (MVector s (As a b))

basicUnsafeRead :: MVector s (As a b) -> Int -> ST s (As a b)

basicUnsafeWrite :: MVector s (As a b) -> Int -> As a b -> ST s ()

basicClear :: MVector s (As a b) -> ST s ()

basicSet :: MVector s (As a b) -> As a b -> ST s ()

basicUnsafeCopy :: MVector s (As a b) -> MVector s (As a b) -> ST s ()

basicUnsafeMove :: MVector s (As a b) -> MVector s (As a b) -> ST s ()

basicUnsafeGrow :: MVector s (As a b) -> Int -> ST s (MVector s (As a b))

(Unbox a, Unbox b) => MVector MVector (a, b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (a, b) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (a, b) -> MVector s (a, b)

basicOverlaps :: MVector s (a, b) -> MVector s (a, b) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (a, b))

basicInitialize :: MVector s (a, b) -> ST s ()

basicUnsafeReplicate :: Int -> (a, b) -> ST s (MVector s (a, b))

basicUnsafeRead :: MVector s (a, b) -> Int -> ST s (a, b)

basicUnsafeWrite :: MVector s (a, b) -> Int -> (a, b) -> ST s ()

basicClear :: MVector s (a, b) -> ST s ()

basicSet :: MVector s (a, b) -> (a, b) -> ST s ()

basicUnsafeCopy :: MVector s (a, b) -> MVector s (a, b) -> ST s ()

basicUnsafeMove :: MVector s (a, b) -> MVector s (a, b) -> ST s ()

basicUnsafeGrow :: MVector s (a, b) -> Int -> ST s (MVector s (a, b))

Unbox a => MVector MVector (Const a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Const a b) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Const a b) -> MVector s (Const a b)

basicOverlaps :: MVector s (Const a b) -> MVector s (Const a b) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Const a b))

basicInitialize :: MVector s (Const a b) -> ST s ()

basicUnsafeReplicate :: Int -> Const a b -> ST s (MVector s (Const a b))

basicUnsafeRead :: MVector s (Const a b) -> Int -> ST s (Const a b)

basicUnsafeWrite :: MVector s (Const a b) -> Int -> Const a b -> ST s ()

basicClear :: MVector s (Const a b) -> ST s ()

basicSet :: MVector s (Const a b) -> Const a b -> ST s ()

basicUnsafeCopy :: MVector s (Const a b) -> MVector s (Const a b) -> ST s ()

basicUnsafeMove :: MVector s (Const a b) -> MVector s (Const a b) -> ST s ()

basicUnsafeGrow :: MVector s (Const a b) -> Int -> ST s (MVector s (Const a b))

Unbox (f a) => MVector MVector (Alt f a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Alt f a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Alt f a) -> MVector s (Alt f a)

basicOverlaps :: MVector s (Alt f a) -> MVector s (Alt f a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Alt f a))

basicInitialize :: MVector s (Alt f a) -> ST s ()

basicUnsafeReplicate :: Int -> Alt f a -> ST s (MVector s (Alt f a))

basicUnsafeRead :: MVector s (Alt f a) -> Int -> ST s (Alt f a)

basicUnsafeWrite :: MVector s (Alt f a) -> Int -> Alt f a -> ST s ()

basicClear :: MVector s (Alt f a) -> ST s ()

basicSet :: MVector s (Alt f a) -> Alt f a -> ST s ()

basicUnsafeCopy :: MVector s (Alt f a) -> MVector s (Alt f a) -> ST s ()

basicUnsafeMove :: MVector s (Alt f a) -> MVector s (Alt f a) -> ST s ()

basicUnsafeGrow :: MVector s (Alt f a) -> Int -> ST s (MVector s (Alt f a))

(Dim n, Unbox a) => MVector MVector (V n a) # 
Instance details

Defined in Linear.V

Methods

basicLength :: MVector s (V n a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V n a) -> MVector s (V n a)

basicOverlaps :: MVector s (V n a) -> MVector s (V n a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V n a))

basicInitialize :: MVector s (V n a) -> ST s ()

basicUnsafeReplicate :: Int -> V n a -> ST s (MVector s (V n a))

basicUnsafeRead :: MVector s (V n a) -> Int -> ST s (V n a)

basicUnsafeWrite :: MVector s (V n a) -> Int -> V n a -> ST s ()

basicClear :: MVector s (V n a) -> ST s ()

basicSet :: MVector s (V n a) -> V n a -> ST s ()

basicUnsafeCopy :: MVector s (V n a) -> MVector s (V n a) -> ST s ()

basicUnsafeMove :: MVector s (V n a) -> MVector s (V n a) -> ST s ()

basicUnsafeGrow :: MVector s (V n a) -> Int -> ST s (MVector s (V n a))

(Unbox a, Unbox b, Unbox c) => MVector MVector (a, b, c) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (a, b, c) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (a, b, c) -> MVector s (a, b, c)

basicOverlaps :: MVector s (a, b, c) -> MVector s (a, b, c) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (a, b, c))

basicInitialize :: MVector s (a, b, c) -> ST s ()

basicUnsafeReplicate :: Int -> (a, b, c) -> ST s (MVector s (a, b, c))

basicUnsafeRead :: MVector s (a, b, c) -> Int -> ST s (a, b, c)

basicUnsafeWrite :: MVector s (a, b, c) -> Int -> (a, b, c) -> ST s ()

basicClear :: MVector s (a, b, c) -> ST s ()

basicSet :: MVector s (a, b, c) -> (a, b, c) -> ST s ()

basicUnsafeCopy :: MVector s (a, b, c) -> MVector s (a, b, c) -> ST s ()

basicUnsafeMove :: MVector s (a, b, c) -> MVector s (a, b, c) -> ST s ()

basicUnsafeGrow :: MVector s (a, b, c) -> Int -> ST s (MVector s (a, b, c))

(Unbox a, Unbox b, Unbox c, Unbox d) => MVector MVector (a, b, c, d) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (a, b, c, d) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (a, b, c, d) -> MVector s (a, b, c, d)

basicOverlaps :: MVector s (a, b, c, d) -> MVector s (a, b, c, d) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (a, b, c, d))

basicInitialize :: MVector s (a, b, c, d) -> ST s ()

basicUnsafeReplicate :: Int -> (a, b, c, d) -> ST s (MVector s (a, b, c, d))

basicUnsafeRead :: MVector s (a, b, c, d) -> Int -> ST s (a, b, c, d)

basicUnsafeWrite :: MVector s (a, b, c, d) -> Int -> (a, b, c, d) -> ST s ()

basicClear :: MVector s (a, b, c, d) -> ST s ()

basicSet :: MVector s (a, b, c, d) -> (a, b, c, d) -> ST s ()

basicUnsafeCopy :: MVector s (a, b, c, d) -> MVector s (a, b, c, d) -> ST s ()

basicUnsafeMove :: MVector s (a, b, c, d) -> MVector s (a, b, c, d) -> ST s ()

basicUnsafeGrow :: MVector s (a, b, c, d) -> Int -> ST s (MVector s (a, b, c, d))

Unbox (f (g a)) => MVector MVector (Compose f g a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (Compose f g a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Compose f g a) -> MVector s (Compose f g a)

basicOverlaps :: MVector s (Compose f g a) -> MVector s (Compose f g a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Compose f g a))

basicInitialize :: MVector s (Compose f g a) -> ST s ()

basicUnsafeReplicate :: Int -> Compose f g a -> ST s (MVector s (Compose f g a))

basicUnsafeRead :: MVector s (Compose f g a) -> Int -> ST s (Compose f g a)

basicUnsafeWrite :: MVector s (Compose f g a) -> Int -> Compose f g a -> ST s ()

basicClear :: MVector s (Compose f g a) -> ST s ()

basicSet :: MVector s (Compose f g a) -> Compose f g a -> ST s ()

basicUnsafeCopy :: MVector s (Compose f g a) -> MVector s (Compose f g a) -> ST s ()

basicUnsafeMove :: MVector s (Compose f g a) -> MVector s (Compose f g a) -> ST s ()

basicUnsafeGrow :: MVector s (Compose f g a) -> Int -> ST s (MVector s (Compose f g a))

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => MVector MVector (a, b, c, d, e) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (a, b, c, d, e) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (a, b, c, d, e) -> MVector s (a, b, c, d, e)

basicOverlaps :: MVector s (a, b, c, d, e) -> MVector s (a, b, c, d, e) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (a, b, c, d, e))

basicInitialize :: MVector s (a, b, c, d, e) -> ST s ()

basicUnsafeReplicate :: Int -> (a, b, c, d, e) -> ST s (MVector s (a, b, c, d, e))

basicUnsafeRead :: MVector s (a, b, c, d, e) -> Int -> ST s (a, b, c, d, e)

basicUnsafeWrite :: MVector s (a, b, c, d, e) -> Int -> (a, b, c, d, e) -> ST s ()

basicClear :: MVector s (a, b, c, d, e) -> ST s ()

basicSet :: MVector s (a, b, c, d, e) -> (a, b, c, d, e) -> ST s ()

basicUnsafeCopy :: MVector s (a, b, c, d, e) -> MVector s (a, b, c, d, e) -> ST s ()

basicUnsafeMove :: MVector s (a, b, c, d, e) -> MVector s (a, b, c, d, e) -> ST s ()

basicUnsafeGrow :: MVector s (a, b, c, d, e) -> Int -> ST s (MVector s (a, b, c, d, e))

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => MVector MVector (a, b, c, d, e, f) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicLength :: MVector s (a, b, c, d, e, f) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (a, b, c, d, e, f) -> MVector s (a, b, c, d, e, f)

basicOverlaps :: MVector s (a, b, c, d, e, f) -> MVector s (a, b, c, d, e, f) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (a, b, c, d, e, f))

basicInitialize :: MVector s (a, b, c, d, e, f) -> ST s ()

basicUnsafeReplicate :: Int -> (a, b, c, d, e, f) -> ST s (MVector s (a, b, c, d, e, f))

basicUnsafeRead :: MVector s (a, b, c, d, e, f) -> Int -> ST s (a, b, c, d, e, f)

basicUnsafeWrite :: MVector s (a, b, c, d, e, f) -> Int -> (a, b, c, d, e, f) -> ST s ()

basicClear :: MVector s (a, b, c, d, e, f) -> ST s ()

basicSet :: MVector s (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> ST s ()

basicUnsafeCopy :: MVector s (a, b, c, d, e, f) -> MVector s (a, b, c, d, e, f) -> ST s ()

basicUnsafeMove :: MVector s (a, b, c, d, e, f) -> MVector s (a, b, c, d, e, f) -> ST s ()

basicUnsafeGrow :: MVector s (a, b, c, d, e, f) -> Int -> ST s (MVector s (a, b, c, d, e, f))

NFData1 (MVector s) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

liftRnf :: (a -> ()) -> MVector s a -> ()

NFData (MVector s a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

rnf :: MVector s a -> ()

newtype MVector s All # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s All = MV_All (MVector s Bool)
newtype MVector s Any # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Any = MV_Any (MVector s Bool)
newtype MVector s Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int16 = MV_Int16 (MVector s Int16)
newtype MVector s Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int32 = MV_Int32 (MVector s Int32)
newtype MVector s Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int64 = MV_Int64 (MVector s Int64)
newtype MVector s Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int8 = MV_Int8 (MVector s Int8)
newtype MVector s Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Word16 = MV_Word16 (MVector s Word16)
newtype MVector s Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Word32 = MV_Word32 (MVector s Word32)
newtype MVector s Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Word64 = MV_Word64 (MVector s Word64)
newtype MVector s Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Word8 = MV_Word8 (MVector s Word8)
newtype MVector s () # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s () = MV_Unit Int
newtype MVector s Bool # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Bool = MV_Bool (MVector s Word8)
newtype MVector s Char # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Char = MV_Char (MVector s Char)
newtype MVector s Double # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Double = MV_Double (MVector s Double)
newtype MVector s Float # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Float = MV_Float (MVector s Float)
newtype MVector s Int # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Int = MV_Int (MVector s Int)
newtype MVector s Word # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s Word = MV_Word (MVector s Word)
newtype MVector s (Complex a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Complex a) = MV_Complex (MVector s (a, a))
newtype MVector s (First a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (First a) = MV_First (MVector s a)
newtype MVector s (Last a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Last a) = MV_Last (MVector s a)
newtype MVector s (Max a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Max a) = MV_Max (MVector s a)
newtype MVector s (Min a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Min a) = MV_Min (MVector s a)
newtype MVector s (WrappedMonoid a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (WrappedMonoid a) = MV_WrappedMonoid (MVector s a)
newtype MVector s (Identity a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Identity a) = MV_Identity (MVector s a)
newtype MVector s (Down a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Down a) = MV_Down (MVector s a)
newtype MVector s (Dual a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Dual a) = MV_Dual (MVector s a)
newtype MVector s (Product a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Product a) = MV_Product (MVector s a)
newtype MVector s (Sum a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Sum a) = MV_Sum (MVector s a)
data MVector s (Plucker a) # 
Instance details

Defined in Linear.Plucker

data MVector s (Plucker a) = MV_Plucker !Int (MVector s a)
data MVector s (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

data MVector s (Quaternion a) = MV_Quaternion !Int (MVector s a)
newtype MVector s (V0 a) # 
Instance details

Defined in Linear.V0

newtype MVector s (V0 a) = MV_V0 Int
newtype MVector s (V1 a) # 
Instance details

Defined in Linear.V1

newtype MVector s (V1 a) = MV_V1 (MVector s a)
data MVector s (V2 a) # 
Instance details

Defined in Linear.V2

data MVector s (V2 a) = MV_V2 !Int !(MVector s a)
data MVector s (V3 a) # 
Instance details

Defined in Linear.V3

data MVector s (V3 a) = MV_V3 !Int !(MVector s a)
data MVector s (V4 a) # 
Instance details

Defined in Linear.V4

data MVector s (V4 a) = MV_V4 !Int !(MVector s a)
data MVector s (V2 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data MVector s (V2 a) = MV_V2 !Int !(MVector s a)
data MVector s (V3 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data MVector s (V3 a) = MV_V3 !Int !(MVector s a)
data MVector s (V4 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data MVector s (V4 a) = MV_V4 !Int !(MVector s a)
newtype MVector s (Rectangle a) Source # 
Instance details

Defined in SDL.Video.Renderer

newtype MVector s (Rectangle a) = MV_Rectangle (MVector s (Point V2 a, V2 a))
newtype MVector s (DoNotUnboxLazy a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (DoNotUnboxLazy a) = MV_DoNotUnboxLazy (MVector s a)
newtype MVector s (DoNotUnboxNormalForm a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (DoNotUnboxNormalForm a) = MV_DoNotUnboxNormalForm (MVector s a)
newtype MVector s (DoNotUnboxStrict a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (DoNotUnboxStrict a) = MV_DoNotUnboxStrict (MVector s a)
newtype MVector s (UnboxViaPrim a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (UnboxViaPrim a) = MV_UnboxViaPrim (MVector s a)
newtype MVector s (Arg a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Arg a b) = MV_Arg (MVector s (a, b))
newtype MVector s (Point f a) # 
Instance details

Defined in Linear.Affine

newtype MVector s (Point f a) = MV_P (MVector s (f a))
data MVector s (Point f a) Source # 
Instance details

Defined in SDL.Internal.Vect

data MVector s (Point f a) = MV_P !(MVector s (f a))
newtype MVector s (As a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (As a b) = MV_UnboxAs (MVector s b)
data MVector s (a, b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data MVector s (a, b) = MV_2 !Int !(MVector s a) !(MVector s b)
newtype MVector s (Const a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Const a b) = MV_Const (MVector s a)
newtype MVector s (Alt f a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Alt f a) = MV_Alt (MVector s (f a))
data MVector s (V n a) # 
Instance details

Defined in Linear.V

data MVector s (V n a) = MV_VN !Int !(MVector s a)
data MVector s (a, b, c) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data MVector s (a, b, c) = MV_3 !Int !(MVector s a) !(MVector s b) !(MVector s c)
data MVector s (a, b, c, d) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data MVector s (a, b, c, d) = MV_4 !Int !(MVector s a) !(MVector s b) !(MVector s c) !(MVector s d)
newtype MVector s (Compose f g a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype MVector s (Compose f g a) = MV_Compose (MVector s (f (g a)))
data MVector s (a, b, c, d, e) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data MVector s (a, b, c, d, e) = MV_5 !Int !(MVector s a) !(MVector s b) !(MVector s c) !(MVector s d) !(MVector s e)
data MVector s (a, b, c, d, e, f) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data MVector s (a, b, c, d, e, f) = MV_6 !Int !(MVector s a) !(MVector s b) !(MVector s c) !(MVector s d) !(MVector s e) !(MVector s f)

data family Vector a #

Instances

Instances details
NFData1 Vector # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

liftRnf :: (a -> ()) -> Vector a -> ()

Vector Vector All # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s All -> ST s (Vector All)

basicUnsafeThaw :: Vector All -> ST s (Mutable Vector s All)

basicLength :: Vector All -> Int

basicUnsafeSlice :: Int -> Int -> Vector All -> Vector All

basicUnsafeIndexM :: Vector All -> Int -> Box All

basicUnsafeCopy :: Mutable Vector s All -> Vector All -> ST s ()

elemseq :: Vector All -> All -> b -> b

Vector Vector Any # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Any -> ST s (Vector Any)

basicUnsafeThaw :: Vector Any -> ST s (Mutable Vector s Any)

basicLength :: Vector Any -> Int

basicUnsafeSlice :: Int -> Int -> Vector Any -> Vector Any

basicUnsafeIndexM :: Vector Any -> Int -> Box Any

basicUnsafeCopy :: Mutable Vector s Any -> Vector Any -> ST s ()

elemseq :: Vector Any -> Any -> b -> b

Vector Vector Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int16 -> ST s (Vector Int16)

basicUnsafeThaw :: Vector Int16 -> ST s (Mutable Vector s Int16)

basicLength :: Vector Int16 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Int16 -> Vector Int16

basicUnsafeIndexM :: Vector Int16 -> Int -> Box Int16

basicUnsafeCopy :: Mutable Vector s Int16 -> Vector Int16 -> ST s ()

elemseq :: Vector Int16 -> Int16 -> b -> b

Vector Vector Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int32 -> ST s (Vector Int32)

basicUnsafeThaw :: Vector Int32 -> ST s (Mutable Vector s Int32)

basicLength :: Vector Int32 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Int32 -> Vector Int32

basicUnsafeIndexM :: Vector Int32 -> Int -> Box Int32

basicUnsafeCopy :: Mutable Vector s Int32 -> Vector Int32 -> ST s ()

elemseq :: Vector Int32 -> Int32 -> b -> b

Vector Vector Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int64 -> ST s (Vector Int64)

basicUnsafeThaw :: Vector Int64 -> ST s (Mutable Vector s Int64)

basicLength :: Vector Int64 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Int64 -> Vector Int64

basicUnsafeIndexM :: Vector Int64 -> Int -> Box Int64

basicUnsafeCopy :: Mutable Vector s Int64 -> Vector Int64 -> ST s ()

elemseq :: Vector Int64 -> Int64 -> b -> b

Vector Vector Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int8 -> ST s (Vector Int8)

basicUnsafeThaw :: Vector Int8 -> ST s (Mutable Vector s Int8)

basicLength :: Vector Int8 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Int8 -> Vector Int8

basicUnsafeIndexM :: Vector Int8 -> Int -> Box Int8

basicUnsafeCopy :: Mutable Vector s Int8 -> Vector Int8 -> ST s ()

elemseq :: Vector Int8 -> Int8 -> b -> b

Vector Vector Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word16 -> ST s (Vector Word16)

basicUnsafeThaw :: Vector Word16 -> ST s (Mutable Vector s Word16)

basicLength :: Vector Word16 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word16 -> Vector Word16

basicUnsafeIndexM :: Vector Word16 -> Int -> Box Word16

basicUnsafeCopy :: Mutable Vector s Word16 -> Vector Word16 -> ST s ()

elemseq :: Vector Word16 -> Word16 -> b -> b

Vector Vector Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word32 -> ST s (Vector Word32)

basicUnsafeThaw :: Vector Word32 -> ST s (Mutable Vector s Word32)

basicLength :: Vector Word32 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word32 -> Vector Word32

basicUnsafeIndexM :: Vector Word32 -> Int -> Box Word32

basicUnsafeCopy :: Mutable Vector s Word32 -> Vector Word32 -> ST s ()

elemseq :: Vector Word32 -> Word32 -> b -> b

Vector Vector Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word64 -> ST s (Vector Word64)

basicUnsafeThaw :: Vector Word64 -> ST s (Mutable Vector s Word64)

basicLength :: Vector Word64 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word64 -> Vector Word64

basicUnsafeIndexM :: Vector Word64 -> Int -> Box Word64

basicUnsafeCopy :: Mutable Vector s Word64 -> Vector Word64 -> ST s ()

elemseq :: Vector Word64 -> Word64 -> b -> b

Vector Vector Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word8 -> ST s (Vector Word8)

basicUnsafeThaw :: Vector Word8 -> ST s (Mutable Vector s Word8)

basicLength :: Vector Word8 -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word8 -> Vector Word8

basicUnsafeIndexM :: Vector Word8 -> Int -> Box Word8

basicUnsafeCopy :: Mutable Vector s Word8 -> Vector Word8 -> ST s ()

elemseq :: Vector Word8 -> Word8 -> b -> b

Vector Vector () # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s () -> ST s (Vector ())

basicUnsafeThaw :: Vector () -> ST s (Mutable Vector s ())

basicLength :: Vector () -> Int

basicUnsafeSlice :: Int -> Int -> Vector () -> Vector ()

basicUnsafeIndexM :: Vector () -> Int -> Box ()

basicUnsafeCopy :: Mutable Vector s () -> Vector () -> ST s ()

elemseq :: Vector () -> () -> b -> b

Vector Vector Bool # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Bool -> ST s (Vector Bool)

basicUnsafeThaw :: Vector Bool -> ST s (Mutable Vector s Bool)

basicLength :: Vector Bool -> Int

basicUnsafeSlice :: Int -> Int -> Vector Bool -> Vector Bool

basicUnsafeIndexM :: Vector Bool -> Int -> Box Bool

basicUnsafeCopy :: Mutable Vector s Bool -> Vector Bool -> ST s ()

elemseq :: Vector Bool -> Bool -> b -> b

Vector Vector Char # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Char -> ST s (Vector Char)

basicUnsafeThaw :: Vector Char -> ST s (Mutable Vector s Char)

basicLength :: Vector Char -> Int

basicUnsafeSlice :: Int -> Int -> Vector Char -> Vector Char

basicUnsafeIndexM :: Vector Char -> Int -> Box Char

basicUnsafeCopy :: Mutable Vector s Char -> Vector Char -> ST s ()

elemseq :: Vector Char -> Char -> b -> b

Vector Vector Double # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Double -> ST s (Vector Double)

basicUnsafeThaw :: Vector Double -> ST s (Mutable Vector s Double)

basicLength :: Vector Double -> Int

basicUnsafeSlice :: Int -> Int -> Vector Double -> Vector Double

basicUnsafeIndexM :: Vector Double -> Int -> Box Double

basicUnsafeCopy :: Mutable Vector s Double -> Vector Double -> ST s ()

elemseq :: Vector Double -> Double -> b -> b

Vector Vector Float # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Float -> ST s (Vector Float)

basicUnsafeThaw :: Vector Float -> ST s (Mutable Vector s Float)

basicLength :: Vector Float -> Int

basicUnsafeSlice :: Int -> Int -> Vector Float -> Vector Float

basicUnsafeIndexM :: Vector Float -> Int -> Box Float

basicUnsafeCopy :: Mutable Vector s Float -> Vector Float -> ST s ()

elemseq :: Vector Float -> Float -> b -> b

Vector Vector Int # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Int -> ST s (Vector Int)

basicUnsafeThaw :: Vector Int -> ST s (Mutable Vector s Int)

basicLength :: Vector Int -> Int

basicUnsafeSlice :: Int -> Int -> Vector Int -> Vector Int

basicUnsafeIndexM :: Vector Int -> Int -> Box Int

basicUnsafeCopy :: Mutable Vector s Int -> Vector Int -> ST s ()

elemseq :: Vector Int -> Int -> b -> b

Vector Vector Word # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s Word -> ST s (Vector Word)

basicUnsafeThaw :: Vector Word -> ST s (Mutable Vector s Word)

basicLength :: Vector Word -> Int

basicUnsafeSlice :: Int -> Int -> Vector Word -> Vector Word

basicUnsafeIndexM :: Vector Word -> Int -> Box Word

basicUnsafeCopy :: Mutable Vector s Word -> Vector Word -> ST s ()

elemseq :: Vector Word -> Word -> b -> b

Unbox a => Vector Vector (Complex a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Complex a) -> ST s (Vector (Complex a))

basicUnsafeThaw :: Vector (Complex a) -> ST s (Mutable Vector s (Complex a))

basicLength :: Vector (Complex a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Complex a) -> Vector (Complex a)

basicUnsafeIndexM :: Vector (Complex a) -> Int -> Box (Complex a)

basicUnsafeCopy :: Mutable Vector s (Complex a) -> Vector (Complex a) -> ST s ()

elemseq :: Vector (Complex a) -> Complex a -> b -> b

Unbox a => Vector Vector (First a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (First a) -> ST s (Vector (First a))

basicUnsafeThaw :: Vector (First a) -> ST s (Mutable Vector s (First a))

basicLength :: Vector (First a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (First a) -> Vector (First a)

basicUnsafeIndexM :: Vector (First a) -> Int -> Box (First a)

basicUnsafeCopy :: Mutable Vector s (First a) -> Vector (First a) -> ST s ()

elemseq :: Vector (First a) -> First a -> b -> b

Unbox a => Vector Vector (Last a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Last a) -> ST s (Vector (Last a))

basicUnsafeThaw :: Vector (Last a) -> ST s (Mutable Vector s (Last a))

basicLength :: Vector (Last a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Last a) -> Vector (Last a)

basicUnsafeIndexM :: Vector (Last a) -> Int -> Box (Last a)

basicUnsafeCopy :: Mutable Vector s (Last a) -> Vector (Last a) -> ST s ()

elemseq :: Vector (Last a) -> Last a -> b -> b

Unbox a => Vector Vector (Max a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Max a) -> ST s (Vector (Max a))

basicUnsafeThaw :: Vector (Max a) -> ST s (Mutable Vector s (Max a))

basicLength :: Vector (Max a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Max a) -> Vector (Max a)

basicUnsafeIndexM :: Vector (Max a) -> Int -> Box (Max a)

basicUnsafeCopy :: Mutable Vector s (Max a) -> Vector (Max a) -> ST s ()

elemseq :: Vector (Max a) -> Max a -> b -> b

Unbox a => Vector Vector (Min a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Min a) -> ST s (Vector (Min a))

basicUnsafeThaw :: Vector (Min a) -> ST s (Mutable Vector s (Min a))

basicLength :: Vector (Min a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Min a) -> Vector (Min a)

basicUnsafeIndexM :: Vector (Min a) -> Int -> Box (Min a)

basicUnsafeCopy :: Mutable Vector s (Min a) -> Vector (Min a) -> ST s ()

elemseq :: Vector (Min a) -> Min a -> b -> b

Unbox a => Vector Vector (WrappedMonoid a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (WrappedMonoid a) -> ST s (Vector (WrappedMonoid a))

basicUnsafeThaw :: Vector (WrappedMonoid a) -> ST s (Mutable Vector s (WrappedMonoid a))

basicLength :: Vector (WrappedMonoid a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (WrappedMonoid a) -> Vector (WrappedMonoid a)

basicUnsafeIndexM :: Vector (WrappedMonoid a) -> Int -> Box (WrappedMonoid a)

basicUnsafeCopy :: Mutable Vector s (WrappedMonoid a) -> Vector (WrappedMonoid a) -> ST s ()

elemseq :: Vector (WrappedMonoid a) -> WrappedMonoid a -> b -> b

Unbox a => Vector Vector (Identity a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Identity a) -> ST s (Vector (Identity a))

basicUnsafeThaw :: Vector (Identity a) -> ST s (Mutable Vector s (Identity a))

basicLength :: Vector (Identity a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Identity a) -> Vector (Identity a)

basicUnsafeIndexM :: Vector (Identity a) -> Int -> Box (Identity a)

basicUnsafeCopy :: Mutable Vector s (Identity a) -> Vector (Identity a) -> ST s ()

elemseq :: Vector (Identity a) -> Identity a -> b -> b

Unbox a => Vector Vector (Down a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Down a) -> ST s (Vector (Down a))

basicUnsafeThaw :: Vector (Down a) -> ST s (Mutable Vector s (Down a))

basicLength :: Vector (Down a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Down a) -> Vector (Down a)

basicUnsafeIndexM :: Vector (Down a) -> Int -> Box (Down a)

basicUnsafeCopy :: Mutable Vector s (Down a) -> Vector (Down a) -> ST s ()

elemseq :: Vector (Down a) -> Down a -> b -> b

Unbox a => Vector Vector (Dual a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Dual a) -> ST s (Vector (Dual a))

basicUnsafeThaw :: Vector (Dual a) -> ST s (Mutable Vector s (Dual a))

basicLength :: Vector (Dual a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Dual a) -> Vector (Dual a)

basicUnsafeIndexM :: Vector (Dual a) -> Int -> Box (Dual a)

basicUnsafeCopy :: Mutable Vector s (Dual a) -> Vector (Dual a) -> ST s ()

elemseq :: Vector (Dual a) -> Dual a -> b -> b

Unbox a => Vector Vector (Product a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Product a) -> ST s (Vector (Product a))

basicUnsafeThaw :: Vector (Product a) -> ST s (Mutable Vector s (Product a))

basicLength :: Vector (Product a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Product a) -> Vector (Product a)

basicUnsafeIndexM :: Vector (Product a) -> Int -> Box (Product a)

basicUnsafeCopy :: Mutable Vector s (Product a) -> Vector (Product a) -> ST s ()

elemseq :: Vector (Product a) -> Product a -> b -> b

Unbox a => Vector Vector (Sum a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Sum a) -> ST s (Vector (Sum a))

basicUnsafeThaw :: Vector (Sum a) -> ST s (Mutable Vector s (Sum a))

basicLength :: Vector (Sum a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Sum a) -> Vector (Sum a)

basicUnsafeIndexM :: Vector (Sum a) -> Int -> Box (Sum a)

basicUnsafeCopy :: Mutable Vector s (Sum a) -> Vector (Sum a) -> ST s ()

elemseq :: Vector (Sum a) -> Sum a -> b -> b

Unbox a => Vector Vector (Plucker a) # 
Instance details

Defined in Linear.Plucker

Methods

basicUnsafeFreeze :: Mutable Vector s (Plucker a) -> ST s (Vector (Plucker a))

basicUnsafeThaw :: Vector (Plucker a) -> ST s (Mutable Vector s (Plucker a))

basicLength :: Vector (Plucker a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Plucker a) -> Vector (Plucker a)

basicUnsafeIndexM :: Vector (Plucker a) -> Int -> Box (Plucker a)

basicUnsafeCopy :: Mutable Vector s (Plucker a) -> Vector (Plucker a) -> ST s ()

elemseq :: Vector (Plucker a) -> Plucker a -> b -> b

Unbox a => Vector Vector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

Methods

basicUnsafeFreeze :: Mutable Vector s (Quaternion a) -> ST s (Vector (Quaternion a))

basicUnsafeThaw :: Vector (Quaternion a) -> ST s (Mutable Vector s (Quaternion a))

basicLength :: Vector (Quaternion a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Quaternion a) -> Vector (Quaternion a)

basicUnsafeIndexM :: Vector (Quaternion a) -> Int -> Box (Quaternion a)

basicUnsafeCopy :: Mutable Vector s (Quaternion a) -> Vector (Quaternion a) -> ST s ()

elemseq :: Vector (Quaternion a) -> Quaternion a -> b -> b

Vector Vector (V0 a) # 
Instance details

Defined in Linear.V0

Methods

basicUnsafeFreeze :: Mutable Vector s (V0 a) -> ST s (Vector (V0 a))

basicUnsafeThaw :: Vector (V0 a) -> ST s (Mutable Vector s (V0 a))

basicLength :: Vector (V0 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V0 a) -> Vector (V0 a)

basicUnsafeIndexM :: Vector (V0 a) -> Int -> Box (V0 a)

basicUnsafeCopy :: Mutable Vector s (V0 a) -> Vector (V0 a) -> ST s ()

elemseq :: Vector (V0 a) -> V0 a -> b -> b

Unbox a => Vector Vector (V1 a) # 
Instance details

Defined in Linear.V1

Methods

basicUnsafeFreeze :: Mutable Vector s (V1 a) -> ST s (Vector (V1 a))

basicUnsafeThaw :: Vector (V1 a) -> ST s (Mutable Vector s (V1 a))

basicLength :: Vector (V1 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V1 a) -> Vector (V1 a)

basicUnsafeIndexM :: Vector (V1 a) -> Int -> Box (V1 a)

basicUnsafeCopy :: Mutable Vector s (V1 a) -> Vector (V1 a) -> ST s ()

elemseq :: Vector (V1 a) -> V1 a -> b -> b

Unbox a => Vector Vector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicUnsafeFreeze :: Mutable Vector s (V2 a) -> ST s (Vector (V2 a))

basicUnsafeThaw :: Vector (V2 a) -> ST s (Mutable Vector s (V2 a))

basicLength :: Vector (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a)

basicUnsafeIndexM :: Vector (V2 a) -> Int -> Box (V2 a)

basicUnsafeCopy :: Mutable Vector s (V2 a) -> Vector (V2 a) -> ST s ()

elemseq :: Vector (V2 a) -> V2 a -> b -> b

Unbox a => Vector Vector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicUnsafeFreeze :: Mutable Vector s (V3 a) -> ST s (Vector (V3 a))

basicUnsafeThaw :: Vector (V3 a) -> ST s (Mutable Vector s (V3 a))

basicLength :: Vector (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a)

basicUnsafeIndexM :: Vector (V3 a) -> Int -> Box (V3 a)

basicUnsafeCopy :: Mutable Vector s (V3 a) -> Vector (V3 a) -> ST s ()

elemseq :: Vector (V3 a) -> V3 a -> b -> b

Unbox a => Vector Vector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicUnsafeFreeze :: Mutable Vector s (V4 a) -> ST s (Vector (V4 a))

basicUnsafeThaw :: Vector (V4 a) -> ST s (Mutable Vector s (V4 a))

basicLength :: Vector (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a)

basicUnsafeIndexM :: Vector (V4 a) -> Int -> Box (V4 a)

basicUnsafeCopy :: Mutable Vector s (V4 a) -> Vector (V4 a) -> ST s ()

elemseq :: Vector (V4 a) -> V4 a -> b -> b

Unbox a => Vector Vector (V2 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicUnsafeFreeze :: Mutable Vector s (V2 a) -> ST s (Vector (V2 a))

basicUnsafeThaw :: Vector (V2 a) -> ST s (Mutable Vector s (V2 a))

basicLength :: Vector (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a)

basicUnsafeIndexM :: Vector (V2 a) -> Int -> Box (V2 a)

basicUnsafeCopy :: Mutable Vector s (V2 a) -> Vector (V2 a) -> ST s ()

elemseq :: Vector (V2 a) -> V2 a -> b -> b

Unbox a => Vector Vector (V3 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicUnsafeFreeze :: Mutable Vector s (V3 a) -> ST s (Vector (V3 a))

basicUnsafeThaw :: Vector (V3 a) -> ST s (Mutable Vector s (V3 a))

basicLength :: Vector (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a)

basicUnsafeIndexM :: Vector (V3 a) -> Int -> Box (V3 a)

basicUnsafeCopy :: Mutable Vector s (V3 a) -> Vector (V3 a) -> ST s ()

elemseq :: Vector (V3 a) -> V3 a -> b -> b

Unbox a => Vector Vector (V4 a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicUnsafeFreeze :: Mutable Vector s (V4 a) -> ST s (Vector (V4 a))

basicUnsafeThaw :: Vector (V4 a) -> ST s (Mutable Vector s (V4 a))

basicLength :: Vector (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a)

basicUnsafeIndexM :: Vector (V4 a) -> Int -> Box (V4 a)

basicUnsafeCopy :: Mutable Vector s (V4 a) -> Vector (V4 a) -> ST s ()

elemseq :: Vector (V4 a) -> V4 a -> b -> b

Unbox a => Vector Vector (Rectangle a) 
Instance details

Defined in SDL.Video.Renderer

Methods

basicUnsafeFreeze :: Mutable Vector s (Rectangle a) -> ST s (Vector (Rectangle a))

basicUnsafeThaw :: Vector (Rectangle a) -> ST s (Mutable Vector s (Rectangle a))

basicLength :: Vector (Rectangle a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Rectangle a) -> Vector (Rectangle a)

basicUnsafeIndexM :: Vector (Rectangle a) -> Int -> Box (Rectangle a)

basicUnsafeCopy :: Mutable Vector s (Rectangle a) -> Vector (Rectangle a) -> ST s ()

elemseq :: Vector (Rectangle a) -> Rectangle a -> b -> b

Vector Vector (DoNotUnboxLazy a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (DoNotUnboxLazy a) -> ST s (Vector (DoNotUnboxLazy a))

basicUnsafeThaw :: Vector (DoNotUnboxLazy a) -> ST s (Mutable Vector s (DoNotUnboxLazy a))

basicLength :: Vector (DoNotUnboxLazy a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (DoNotUnboxLazy a) -> Vector (DoNotUnboxLazy a)

basicUnsafeIndexM :: Vector (DoNotUnboxLazy a) -> Int -> Box (DoNotUnboxLazy a)

basicUnsafeCopy :: Mutable Vector s (DoNotUnboxLazy a) -> Vector (DoNotUnboxLazy a) -> ST s ()

elemseq :: Vector (DoNotUnboxLazy a) -> DoNotUnboxLazy a -> b -> b

NFData a => Vector Vector (DoNotUnboxNormalForm a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (DoNotUnboxNormalForm a) -> ST s (Vector (DoNotUnboxNormalForm a))

basicUnsafeThaw :: Vector (DoNotUnboxNormalForm a) -> ST s (Mutable Vector s (DoNotUnboxNormalForm a))

basicLength :: Vector (DoNotUnboxNormalForm a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (DoNotUnboxNormalForm a) -> Vector (DoNotUnboxNormalForm a)

basicUnsafeIndexM :: Vector (DoNotUnboxNormalForm a) -> Int -> Box (DoNotUnboxNormalForm a)

basicUnsafeCopy :: Mutable Vector s (DoNotUnboxNormalForm a) -> Vector (DoNotUnboxNormalForm a) -> ST s ()

elemseq :: Vector (DoNotUnboxNormalForm a) -> DoNotUnboxNormalForm a -> b -> b

Vector Vector (DoNotUnboxStrict a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (DoNotUnboxStrict a) -> ST s (Vector (DoNotUnboxStrict a))

basicUnsafeThaw :: Vector (DoNotUnboxStrict a) -> ST s (Mutable Vector s (DoNotUnboxStrict a))

basicLength :: Vector (DoNotUnboxStrict a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (DoNotUnboxStrict a) -> Vector (DoNotUnboxStrict a)

basicUnsafeIndexM :: Vector (DoNotUnboxStrict a) -> Int -> Box (DoNotUnboxStrict a)

basicUnsafeCopy :: Mutable Vector s (DoNotUnboxStrict a) -> Vector (DoNotUnboxStrict a) -> ST s ()

elemseq :: Vector (DoNotUnboxStrict a) -> DoNotUnboxStrict a -> b -> b

Prim a => Vector Vector (UnboxViaPrim a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (UnboxViaPrim a) -> ST s (Vector (UnboxViaPrim a))

basicUnsafeThaw :: Vector (UnboxViaPrim a) -> ST s (Mutable Vector s (UnboxViaPrim a))

basicLength :: Vector (UnboxViaPrim a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (UnboxViaPrim a) -> Vector (UnboxViaPrim a)

basicUnsafeIndexM :: Vector (UnboxViaPrim a) -> Int -> Box (UnboxViaPrim a)

basicUnsafeCopy :: Mutable Vector s (UnboxViaPrim a) -> Vector (UnboxViaPrim a) -> ST s ()

elemseq :: Vector (UnboxViaPrim a) -> UnboxViaPrim a -> b -> b

(Unbox a, Unbox b) => Vector Vector (Arg a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Arg a b) -> ST s (Vector (Arg a b))

basicUnsafeThaw :: Vector (Arg a b) -> ST s (Mutable Vector s (Arg a b))

basicLength :: Vector (Arg a b) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Arg a b) -> Vector (Arg a b)

basicUnsafeIndexM :: Vector (Arg a b) -> Int -> Box (Arg a b)

basicUnsafeCopy :: Mutable Vector s (Arg a b) -> Vector (Arg a b) -> ST s ()

elemseq :: Vector (Arg a b) -> Arg a b -> b0 -> b0

Unbox (f a) => Vector Vector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicUnsafeFreeze :: Mutable Vector s (Point f a) -> ST s (Vector (Point f a))

basicUnsafeThaw :: Vector (Point f a) -> ST s (Mutable Vector s (Point f a))

basicLength :: Vector (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a)

basicUnsafeIndexM :: Vector (Point f a) -> Int -> Box (Point f a)

basicUnsafeCopy :: Mutable Vector s (Point f a) -> Vector (Point f a) -> ST s ()

elemseq :: Vector (Point f a) -> Point f a -> b -> b

Unbox (f a) => Vector Vector (Point f a) 
Instance details

Defined in SDL.Internal.Vect

Methods

basicUnsafeFreeze :: Mutable Vector s (Point f a) -> ST s (Vector (Point f a))

basicUnsafeThaw :: Vector (Point f a) -> ST s (Mutable Vector s (Point f a))

basicLength :: Vector (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a)

basicUnsafeIndexM :: Vector (Point f a) -> Int -> Box (Point f a)

basicUnsafeCopy :: Mutable Vector s (Point f a) -> Vector (Point f a) -> ST s ()

elemseq :: Vector (Point f a) -> Point f a -> b -> b

(IsoUnbox a b, Unbox b) => Vector Vector (As a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (As a b) -> ST s (Vector (As a b))

basicUnsafeThaw :: Vector (As a b) -> ST s (Mutable Vector s (As a b))

basicLength :: Vector (As a b) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (As a b) -> Vector (As a b)

basicUnsafeIndexM :: Vector (As a b) -> Int -> Box (As a b)

basicUnsafeCopy :: Mutable Vector s (As a b) -> Vector (As a b) -> ST s ()

elemseq :: Vector (As a b) -> As a b -> b0 -> b0

(Unbox a, Unbox b) => Vector Vector (a, b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (a, b) -> ST s (Vector (a, b))

basicUnsafeThaw :: Vector (a, b) -> ST s (Mutable Vector s (a, b))

basicLength :: Vector (a, b) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (a, b) -> Vector (a, b)

basicUnsafeIndexM :: Vector (a, b) -> Int -> Box (a, b)

basicUnsafeCopy :: Mutable Vector s (a, b) -> Vector (a, b) -> ST s ()

elemseq :: Vector (a, b) -> (a, b) -> b0 -> b0

Unbox a => Vector Vector (Const a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Const a b) -> ST s (Vector (Const a b))

basicUnsafeThaw :: Vector (Const a b) -> ST s (Mutable Vector s (Const a b))

basicLength :: Vector (Const a b) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Const a b) -> Vector (Const a b)

basicUnsafeIndexM :: Vector (Const a b) -> Int -> Box (Const a b)

basicUnsafeCopy :: Mutable Vector s (Const a b) -> Vector (Const a b) -> ST s ()

elemseq :: Vector (Const a b) -> Const a b -> b0 -> b0

Unbox (f a) => Vector Vector (Alt f a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Alt f a) -> ST s (Vector (Alt f a))

basicUnsafeThaw :: Vector (Alt f a) -> ST s (Mutable Vector s (Alt f a))

basicLength :: Vector (Alt f a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Alt f a) -> Vector (Alt f a)

basicUnsafeIndexM :: Vector (Alt f a) -> Int -> Box (Alt f a)

basicUnsafeCopy :: Mutable Vector s (Alt f a) -> Vector (Alt f a) -> ST s ()

elemseq :: Vector (Alt f a) -> Alt f a -> b -> b

(Dim n, Unbox a) => Vector Vector (V n a) # 
Instance details

Defined in Linear.V

Methods

basicUnsafeFreeze :: Mutable Vector s (V n a) -> ST s (Vector (V n a))

basicUnsafeThaw :: Vector (V n a) -> ST s (Mutable Vector s (V n a))

basicLength :: Vector (V n a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V n a) -> Vector (V n a)

basicUnsafeIndexM :: Vector (V n a) -> Int -> Box (V n a)

basicUnsafeCopy :: Mutable Vector s (V n a) -> Vector (V n a) -> ST s ()

elemseq :: Vector (V n a) -> V n a -> b -> b

(Unbox a, Unbox b, Unbox c) => Vector Vector (a, b, c) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (a, b, c) -> ST s (Vector (a, b, c))

basicUnsafeThaw :: Vector (a, b, c) -> ST s (Mutable Vector s (a, b, c))

basicLength :: Vector (a, b, c) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c) -> Vector (a, b, c)

basicUnsafeIndexM :: Vector (a, b, c) -> Int -> Box (a, b, c)

basicUnsafeCopy :: Mutable Vector s (a, b, c) -> Vector (a, b, c) -> ST s ()

elemseq :: Vector (a, b, c) -> (a, b, c) -> b0 -> b0

(Unbox a, Unbox b, Unbox c, Unbox d) => Vector Vector (a, b, c, d) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (a, b, c, d) -> ST s (Vector (a, b, c, d))

basicUnsafeThaw :: Vector (a, b, c, d) -> ST s (Mutable Vector s (a, b, c, d))

basicLength :: Vector (a, b, c, d) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d) -> Vector (a, b, c, d)

basicUnsafeIndexM :: Vector (a, b, c, d) -> Int -> Box (a, b, c, d)

basicUnsafeCopy :: Mutable Vector s (a, b, c, d) -> Vector (a, b, c, d) -> ST s ()

elemseq :: Vector (a, b, c, d) -> (a, b, c, d) -> b0 -> b0

Unbox (f (g a)) => Vector Vector (Compose f g a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (Compose f g a) -> ST s (Vector (Compose f g a))

basicUnsafeThaw :: Vector (Compose f g a) -> ST s (Mutable Vector s (Compose f g a))

basicLength :: Vector (Compose f g a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Compose f g a) -> Vector (Compose f g a)

basicUnsafeIndexM :: Vector (Compose f g a) -> Int -> Box (Compose f g a)

basicUnsafeCopy :: Mutable Vector s (Compose f g a) -> Vector (Compose f g a) -> ST s ()

elemseq :: Vector (Compose f g a) -> Compose f g a -> b -> b

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Vector Vector (a, b, c, d, e) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (a, b, c, d, e) -> ST s (Vector (a, b, c, d, e))

basicUnsafeThaw :: Vector (a, b, c, d, e) -> ST s (Mutable Vector s (a, b, c, d, e))

basicLength :: Vector (a, b, c, d, e) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d, e) -> Vector (a, b, c, d, e)

basicUnsafeIndexM :: Vector (a, b, c, d, e) -> Int -> Box (a, b, c, d, e)

basicUnsafeCopy :: Mutable Vector s (a, b, c, d, e) -> Vector (a, b, c, d, e) -> ST s ()

elemseq :: Vector (a, b, c, d, e) -> (a, b, c, d, e) -> b0 -> b0

(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Vector Vector (a, b, c, d, e, f) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

basicUnsafeFreeze :: Mutable Vector s (a, b, c, d, e, f) -> ST s (Vector (a, b, c, d, e, f))

basicUnsafeThaw :: Vector (a, b, c, d, e, f) -> ST s (Mutable Vector s (a, b, c, d, e, f))

basicLength :: Vector (a, b, c, d, e, f) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (a, b, c, d, e, f) -> Vector (a, b, c, d, e, f)

basicUnsafeIndexM :: Vector (a, b, c, d, e, f) -> Int -> Box (a, b, c, d, e, f)

basicUnsafeCopy :: Mutable Vector s (a, b, c, d, e, f) -> Vector (a, b, c, d, e, f) -> ST s ()

elemseq :: Vector (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> b0 -> b0

NFData (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

rnf :: Vector a -> ()

Unbox a => Monoid (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

mempty :: Vector a

mappend :: Vector a -> Vector a -> Vector a

mconcat :: [Vector a] -> Vector a

Unbox a => Semigroup (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

(<>) :: Vector a -> Vector a -> Vector a

sconcat :: NonEmpty (Vector a) -> Vector a

stimes :: Integral b => b -> Vector a -> Vector a

(Data a, Unbox a) => Data (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Vector a -> c (Vector a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Vector a)

toConstr :: Vector a -> Constr

dataTypeOf :: Vector a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Vector a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Vector a))

gmapT :: (forall b. Data b => b -> b) -> Vector a -> Vector a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Vector a -> r

gmapQ :: (forall d. Data d => d -> u) -> Vector a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Vector a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Vector a -> m (Vector a)

Unbox e => IsList (Vector e) # 
Instance details

Defined in Data.Vector.Unboxed

Associated Types

type Item (Vector e) 
Instance details

Defined in Data.Vector.Unboxed

type Item (Vector e) = e

Methods

fromList :: [Item (Vector e)] -> Vector e

fromListN :: Int -> [Item (Vector e)] -> Vector e

toList :: Vector e -> [Item (Vector e)]

(Read a, Unbox a) => Read (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

readsPrec :: Int -> ReadS (Vector a)

readList :: ReadS [Vector a]

readPrec :: ReadPrec (Vector a)

readListPrec :: ReadPrec [Vector a]

(Show a, Unbox a) => Show (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

showsPrec :: Int -> Vector a -> ShowS

show :: Vector a -> String

showList :: [Vector a] -> ShowS

(Unbox a, Eq a) => Eq (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

(==) :: Vector a -> Vector a -> Bool

(/=) :: Vector a -> Vector a -> Bool

(Unbox a, Ord a) => Ord (Vector a) # 
Instance details

Defined in Data.Vector.Unboxed

Methods

compare :: Vector a -> Vector a -> Ordering

(<) :: Vector a -> Vector a -> Bool

(<=) :: Vector a -> Vector a -> Bool

(>) :: Vector a -> Vector a -> Bool

(>=) :: Vector a -> Vector a -> Bool

max :: Vector a -> Vector a -> Vector a

min :: Vector a -> Vector a -> Vector a

Unbox a => Ixed (Vector a) # 
Instance details

Defined in Control.Lens.At

Methods

ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a))

Unbox a => Wrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

Associated Types

type Unwrapped (Vector a) 
Instance details

Defined in Control.Lens.Wrapped

type Unwrapped (Vector a) = [a]

Methods

_Wrapped' :: Iso' (Vector a) (Unwrapped (Vector a))

(Unbox a, t ~ Vector a') => Rewrapped (Vector a) t # 
Instance details

Defined in Control.Lens.Wrapped

type Mutable Vector # 
Instance details

Defined in Data.Vector.Unboxed.Base

type Mutable Vector = MVector
newtype Vector All # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector All = V_All (Vector Bool)
newtype Vector Any # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Any = V_Any (Vector Bool)
newtype Vector Int16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Int16 = V_Int16 (Vector Int16)
newtype Vector Int32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Int32 = V_Int32 (Vector Int32)
newtype Vector Int64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Int64 = V_Int64 (Vector Int64)
newtype Vector Int8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Int8 = V_Int8 (Vector Int8)
newtype Vector Word16 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Word16 = V_Word16 (Vector Word16)
newtype Vector Word32 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Word32 = V_Word32 (Vector Word32)
newtype Vector Word64 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Word64 = V_Word64 (Vector Word64)
newtype Vector Word8 # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Word8 = V_Word8 (Vector Word8)
newtype Vector () # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector () = V_Unit Int
newtype Vector Bool # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Bool = V_Bool (Vector Word8)
newtype Vector Char # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Char = V_Char (Vector Char)
newtype Vector Double # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Double = V_Double (Vector Double)
newtype Vector Float # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Float = V_Float (Vector Float)
newtype Vector Int # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Int = V_Int (Vector Int)
newtype Vector Word # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector Word = V_Word (Vector Word)
type Item (Vector e) # 
Instance details

Defined in Data.Vector.Unboxed

type Item (Vector e) = e
type Index (Vector a) # 
Instance details

Defined in Control.Lens.At

type Index (Vector a) = Int
type IxValue (Vector a) # 
Instance details

Defined in Control.Lens.At

type IxValue (Vector a) = a
type Unwrapped (Vector a) # 
Instance details

Defined in Control.Lens.Wrapped

type Unwrapped (Vector a) = [a]
newtype Vector (Complex a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Complex a) = V_Complex (Vector (a, a))
newtype Vector (First a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (First a) = V_First (Vector a)
newtype Vector (Last a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Last a) = V_Last (Vector a)
newtype Vector (Max a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Max a) = V_Max (Vector a)
newtype Vector (Min a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Min a) = V_Min (Vector a)
newtype Vector (WrappedMonoid a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (WrappedMonoid a) = V_WrappedMonoid (Vector a)
newtype Vector (Identity a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Identity a) = V_Identity (Vector a)
newtype Vector (Down a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Down a) = V_Down (Vector a)
newtype Vector (Dual a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Dual a) = V_Dual (Vector a)
newtype Vector (Product a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Product a) = V_Product (Vector a)
newtype Vector (Sum a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Sum a) = V_Sum (Vector a)
data Vector (Plucker a) # 
Instance details

Defined in Linear.Plucker

data Vector (Plucker a) = V_Plucker !Int (Vector a)
data Vector (Quaternion a) # 
Instance details

Defined in Linear.Quaternion

data Vector (Quaternion a) = V_Quaternion !Int (Vector a)
newtype Vector (V0 a) # 
Instance details

Defined in Linear.V0

newtype Vector (V0 a) = V_V0 Int
newtype Vector (V1 a) # 
Instance details

Defined in Linear.V1

newtype Vector (V1 a) = V_V1 (Vector a)
data Vector (V2 a) # 
Instance details

Defined in Linear.V2

data Vector (V2 a) = V_V2 !Int !(Vector a)
data Vector (V3 a) # 
Instance details

Defined in Linear.V3

data Vector (V3 a) = V_V3 !Int !(Vector a)
data Vector (V4 a) # 
Instance details

Defined in Linear.V4

data Vector (V4 a) = V_V4 !Int !(Vector a)
data Vector (V2 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data Vector (V2 a) = V_V2 !Int !(Vector a)
data Vector (V3 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data Vector (V3 a) = V_V3 !Int !(Vector a)
data Vector (V4 a) Source # 
Instance details

Defined in SDL.Internal.Vect

data Vector (V4 a) = V_V4 !Int !(Vector a)
newtype Vector (Rectangle a) Source # 
Instance details

Defined in SDL.Video.Renderer

newtype Vector (Rectangle a) = V_Rectangle (Vector (Point V2 a, V2 a))
newtype Vector (DoNotUnboxLazy a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (DoNotUnboxLazy a) = V_DoNotUnboxLazy (Vector a)
newtype Vector (DoNotUnboxNormalForm a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (DoNotUnboxNormalForm a) = V_DoNotUnboxNormalForm (Vector a)
newtype Vector (DoNotUnboxStrict a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (DoNotUnboxStrict a) = V_DoNotUnboxStrict (Vector a)
newtype Vector (UnboxViaPrim a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (UnboxViaPrim a) = V_UnboxViaPrim (Vector a)
newtype Vector (Arg a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Arg a b) = V_Arg (Vector (a, b))
newtype Vector (Point f a) # 
Instance details

Defined in Linear.Affine

newtype Vector (Point f a) = V_P (Vector (f a))
data Vector (Point f a) Source # 
Instance details

Defined in SDL.Internal.Vect

data Vector (Point f a) = V_P !(Vector (f a))
newtype Vector (As a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (As a b) = V_UnboxAs (Vector b)
data Vector (a, b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Vector (a, b) = V_2 !Int !(Vector a) !(Vector b)
newtype Vector (Const a b) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Const a b) = V_Const (Vector a)
newtype Vector (Alt f a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Alt f a) = V_Alt (Vector (f a))
data Vector (V n a) # 
Instance details

Defined in Linear.V

data Vector (V n a) = V_VN !Int !(Vector a)
data Vector (a, b, c) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Vector (a, b, c) = V_3 !Int !(Vector a) !(Vector b) !(Vector c)
data Vector (a, b, c, d) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Vector (a, b, c, d) = V_4 !Int !(Vector a) !(Vector b) !(Vector c) !(Vector d)
newtype Vector (Compose f g a) # 
Instance details

Defined in Data.Vector.Unboxed.Base

newtype Vector (Compose f g a) = V_Compose (Vector (f (g a)))
data Vector (a, b, c, d, e) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Vector (a, b, c, d, e) = V_5 !Int !(Vector a) !(Vector b) !(Vector c) !(Vector d) !(Vector e)
data Vector (a, b, c, d, e, f) # 
Instance details

Defined in Data.Vector.Unboxed.Base

data Vector (a, b, c, d, e, f) = V_6 !Int !(Vector a) !(Vector b) !(Vector c) !(Vector d) !(Vector e) !(Vector f)

Point

newtype Point (f :: Type -> Type) a #

Constructors

P (f a) 

Instances

Instances details
Generic1 (Point f :: Type -> Type) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep1 (Point f :: Type -> Type) 
Instance details

Defined in Linear.Affine

type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))

Methods

from1 :: Point f a -> Rep1 (Point f) a

to1 :: Rep1 (Point f) a -> Point f a

Unbox (f a) => Vector Vector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicUnsafeFreeze :: Mutable Vector s (Point f a) -> ST s (Vector (Point f a))

basicUnsafeThaw :: Vector (Point f a) -> ST s (Mutable Vector s (Point f a))

basicLength :: Vector (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (Point f a) -> Vector (Point f a)

basicUnsafeIndexM :: Vector (Point f a) -> Int -> Box (Point f a)

basicUnsafeCopy :: Mutable Vector s (Point f a) -> Vector (Point f a) -> ST s ()

elemseq :: Vector (Point f a) -> Point f a -> b -> b

Unbox (f a) => MVector MVector (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

basicLength :: MVector s (Point f a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (Point f a) -> MVector s (Point f a)

basicOverlaps :: MVector s (Point f a) -> MVector s (Point f a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (Point f a))

basicInitialize :: MVector s (Point f a) -> ST s ()

basicUnsafeReplicate :: Int -> Point f a -> ST s (MVector s (Point f a))

basicUnsafeRead :: MVector s (Point f a) -> Int -> ST s (Point f a)

basicUnsafeWrite :: MVector s (Point f a) -> Int -> Point f a -> ST s ()

basicClear :: MVector s (Point f a) -> ST s ()

basicSet :: MVector s (Point f a) -> Point f a -> ST s ()

basicUnsafeCopy :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeMove :: MVector s (Point f a) -> MVector s (Point f a) -> ST s ()

basicUnsafeGrow :: MVector s (Point f a) -> Int -> ST s (MVector s (Point f a))

Representable f => Representable (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f) 
Instance details

Defined in Linear.Affine

type Rep (Point f) = Rep f

Methods

tabulate :: (Rep (Point f) -> a) -> Point f a

index :: Point f a -> Rep (Point f) -> a

Eq1 f => Eq1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftEq :: (a -> b -> Bool) -> Point f a -> Point f b -> Bool

Ord1 f => Ord1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftCompare :: (a -> b -> Ordering) -> Point f a -> Point f b -> Ordering

Read1 f => Read1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Point f a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Point f a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Point f a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Point f a]

Show1 f => Show1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Point f a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Point f a] -> ShowS

Serial1 f => Serial1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

serializeWith :: MonadPut m => (a -> m ()) -> Point f a -> m ()

deserializeWith :: MonadGet m => m a -> m (Point f a)

Distributive f => Distributive (Point f) # 
Instance details

Defined in Linear.Affine

Methods

distribute :: Functor f0 => f0 (Point f a) -> Point f (f0 a)

collect :: Functor f0 => (a -> Point f b) -> f0 a -> Point f (f0 b)

distributeM :: Monad m => m (Point f a) -> Point f (m a)

collectM :: Monad m => (a -> Point f b) -> m a -> Point f (m b)

Applicative f => Applicative (Point f) # 
Instance details

Defined in Linear.Affine

Methods

pure :: a -> Point f a

(<*>) :: Point f (a -> b) -> Point f a -> Point f b

liftA2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

(*>) :: Point f a -> Point f b -> Point f b

(<*) :: Point f a -> Point f b -> Point f a

Functor f => Functor (Point f) # 
Instance details

Defined in Linear.Affine

Methods

fmap :: (a -> b) -> Point f a -> Point f b

(<$) :: a -> Point f b -> Point f a

Monad f => Monad (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(>>=) :: Point f a -> (a -> Point f b) -> Point f b

(>>) :: Point f a -> Point f b -> Point f b

return :: a -> Point f a

Foldable f => Foldable (Point f) # 
Instance details

Defined in Linear.Affine

Methods

fold :: Monoid m => Point f m -> m

foldMap :: Monoid m => (a -> m) -> Point f a -> m

foldMap' :: Monoid m => (a -> m) -> Point f a -> m

foldr :: (a -> b -> b) -> b -> Point f a -> b

foldr' :: (a -> b -> b) -> b -> Point f a -> b

foldl :: (b -> a -> b) -> b -> Point f a -> b

foldl' :: (b -> a -> b) -> b -> Point f a -> b

foldr1 :: (a -> a -> a) -> Point f a -> a

foldl1 :: (a -> a -> a) -> Point f a -> a

toList :: Point f a -> [a]

null :: Point f a -> Bool

length :: Point f a -> Int

elem :: Eq a => a -> Point f a -> Bool

maximum :: Ord a => Point f a -> a

minimum :: Ord a => Point f a -> a

sum :: Num a => Point f a -> a

product :: Num a => Point f a -> a

Traversable f => Traversable (Point f) # 
Instance details

Defined in Linear.Affine

Methods

traverse :: Applicative f0 => (a -> f0 b) -> Point f a -> f0 (Point f b)

sequenceA :: Applicative f0 => Point f (f0 a) -> f0 (Point f a)

mapM :: Monad m => (a -> m b) -> Point f a -> m (Point f b)

sequence :: Monad m => Point f (m a) -> m (Point f a)

Hashable1 f => Hashable1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Point f a -> Int

Additive f => Affine (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff (Point f) 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f

Methods

(.-.) :: Num a => Point f a -> Point f a -> Diff (Point f) a #

(.+^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

(.-^) :: Num a => Point f a -> Diff (Point f) a -> Point f a #

Metric f => Metric (Point f) # 
Instance details

Defined in Linear.Affine

Methods

dot :: Num a => Point f a -> Point f a -> a #

quadrance :: Num a => Point f a -> a #

qd :: Num a => Point f a -> Point f a -> a #

distance :: Floating a => Point f a -> Point f a -> a #

norm :: Floating a => Point f a -> a #

signorm :: Floating a => Point f a -> Point f a #

Finite f => Finite (Point f) # 
Instance details

Defined in Linear.Affine

Associated Types

type Size (Point f) 
Instance details

Defined in Linear.Affine

type Size (Point f) = Size f

Methods

toV :: Point f a -> V (Size (Point f)) a

fromV :: V (Size (Point f)) a -> Point f a

R1 f => R1 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_x :: Lens' (Point f a) a #

R2 f => R2 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_y :: Lens' (Point f a) a #

_xy :: Lens' (Point f a) (V2 a) #

R3 f => R3 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_z :: Lens' (Point f a) a #

_xyz :: Lens' (Point f a) (V3 a) #

R4 f => R4 (Point f) # 
Instance details

Defined in Linear.Affine

Methods

_w :: Lens' (Point f a) a #

_xyzw :: Lens' (Point f a) (V4 a) #

Additive f => Additive (Point f) # 
Instance details

Defined in Linear.Affine

Methods

zero :: Num a => Point f a #

(^+^) :: Num a => Point f a -> Point f a -> Point f a #

(^-^) :: Num a => Point f a -> Point f a -> Point f a #

lerp :: Num a => a -> Point f a -> Point f a -> Point f a #

liftU2 :: (a -> a -> a) -> Point f a -> Point f a -> Point f a #

liftI2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c #

Apply f => Apply (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(<.>) :: Point f (a -> b) -> Point f a -> Point f b

(.>) :: Point f a -> Point f b -> Point f b

(<.) :: Point f a -> Point f b -> Point f a

liftF2 :: (a -> b -> c) -> Point f a -> Point f b -> Point f c

Bind f => Bind (Point f) # 
Instance details

Defined in Linear.Affine

Methods

(>>-) :: Point f a -> (a -> Point f b) -> Point f b

join :: Point f (Point f a) -> Point f a

Binary (f a) => Binary (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

put :: Point f a -> Put

get :: Get (Point f a)

putList :: [Point f a] -> Put

Serial (f a) => Serial (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

serialize :: MonadPut m => Point f a -> m ()

deserialize :: MonadGet m => m (Point f a)

Serialize (f a) => Serialize (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

put :: Putter (Point f a)

get :: Get (Point f a)

NFData (f a) => NFData (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

rnf :: Point f a -> ()

Monoid (f a) => Monoid (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

mempty :: Point f a

mappend :: Point f a -> Point f a -> Point f a

mconcat :: [Point f a] -> Point f a

Semigroup (f a) => Semigroup (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(<>) :: Point f a -> Point f a -> Point f a

sconcat :: NonEmpty (Point f a) -> Point f a

stimes :: Integral b => b -> Point f a -> Point f a

(Typeable f, Typeable a, Data (f a)) => Data (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Point f a -> c (Point f a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Point f a)

toConstr :: Point f a -> Constr

dataTypeOf :: Point f a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Point f a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Point f a))

gmapT :: (forall b. Data b => b -> b) -> Point f a -> Point f a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Point f a -> r

gmapQ :: (forall d. Data d => d -> u) -> Point f a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Point f a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Point f a -> m (Point f a)

Storable (f a) => Storable (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

sizeOf :: Point f a -> Int

alignment :: Point f a -> Int

peekElemOff :: Ptr (Point f a) -> Int -> IO (Point f a)

pokeElemOff :: Ptr (Point f a) -> Int -> Point f a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (Point f a)

pokeByteOff :: Ptr b -> Int -> Point f a -> IO ()

peek :: Ptr (Point f a) -> IO (Point f a)

poke :: Ptr (Point f a) -> Point f a -> IO ()

Generic (Point f a) # 
Instance details

Defined in Linear.Affine

Associated Types

type Rep (Point f a) 
Instance details

Defined in Linear.Affine

type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))

Methods

from :: Point f a -> Rep (Point f a) x

to :: Rep (Point f a) x -> Point f a

Ix (f a) => Ix (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

range :: (Point f a, Point f a) -> [Point f a]

index :: (Point f a, Point f a) -> Point f a -> Int

unsafeIndex :: (Point f a, Point f a) -> Point f a -> Int

inRange :: (Point f a, Point f a) -> Point f a -> Bool

rangeSize :: (Point f a, Point f a) -> Int

unsafeRangeSize :: (Point f a, Point f a) -> Int

Num (f a) => Num (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(+) :: Point f a -> Point f a -> Point f a

(-) :: Point f a -> Point f a -> Point f a

(*) :: Point f a -> Point f a -> Point f a

negate :: Point f a -> Point f a

abs :: Point f a -> Point f a

signum :: Point f a -> Point f a

fromInteger :: Integer -> Point f a

Read (f a) => Read (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

readsPrec :: Int -> ReadS (Point f a)

readList :: ReadS [Point f a]

readPrec :: ReadPrec (Point f a)

readListPrec :: ReadPrec [Point f a]

Fractional (f a) => Fractional (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(/) :: Point f a -> Point f a -> Point f a

recip :: Point f a -> Point f a

fromRational :: Rational -> Point f a

Show (f a) => Show (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

showsPrec :: Int -> Point f a -> ShowS

show :: Point f a -> String

showList :: [Point f a] -> ShowS

Eq (f a) => Eq (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

(==) :: Point f a -> Point f a -> Bool

(/=) :: Point f a -> Point f a -> Bool

Ord (f a) => Ord (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

compare :: Point f a -> Point f a -> Ordering

(<) :: Point f a -> Point f a -> Bool

(<=) :: Point f a -> Point f a -> Bool

(>) :: Point f a -> Point f a -> Bool

(>=) :: Point f a -> Point f a -> Bool

max :: Point f a -> Point f a -> Point f a

min :: Point f a -> Point f a -> Point f a

Hashable (f a) => Hashable (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

hashWithSalt :: Int -> Point f a -> Int

hash :: Point f a -> Int

Ixed (f a) => Ixed (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

ix :: Index (Point f a) -> Traversal' (Point f a) (IxValue (Point f a))

Wrapped (Point f a) # 
Instance details

Defined in Linear.Affine

Associated Types

type Unwrapped (Point f a) 
Instance details

Defined in Linear.Affine

type Unwrapped (Point f a) = f a

Methods

_Wrapped' :: Iso' (Point f a) (Unwrapped (Point f a))

Epsilon (f a) => Epsilon (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

nearZero :: Point f a -> Bool #

Random (f a) => Random (Point f a) # 
Instance details

Defined in Linear.Affine

Methods

randomR :: RandomGen g => (Point f a, Point f a) -> g -> (Point f a, g)

random :: RandomGen g => g -> (Point f a, g)

randomRs :: RandomGen g => (Point f a, Point f a) -> g -> [Point f a]

randoms :: RandomGen g => g -> [Point f a]

Unbox (f a) => Unbox (Point f a) # 
Instance details

Defined in Linear.Affine

t ~ Point g b => Rewrapped (Point f a) t # 
Instance details

Defined in Linear.Affine

Traversable f => Each (Point f a) (Point f b) a b # 
Instance details

Defined in Linear.Affine

Methods

each :: Traversal (Point f a) (Point f b) a b

type Rep1 (Point f :: Type -> Type) # 
Instance details

Defined in Linear.Affine

type Rep1 (Point f :: Type -> Type) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))
newtype MVector s (Point f a) # 
Instance details

Defined in Linear.Affine

newtype MVector s (Point f a) = MV_P (MVector s (f a))
type Rep (Point f) # 
Instance details

Defined in Linear.Affine

type Rep (Point f) = Rep f
type Diff (Point f) # 
Instance details

Defined in Linear.Affine

type Diff (Point f) = f
type Size (Point f) # 
Instance details

Defined in Linear.Affine

type Size (Point f) = Size f
type Rep (Point f a) # 
Instance details

Defined in Linear.Affine

type Rep (Point f a) = D1 ('MetaData "Point" "Linear.Affine" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'True) (C1 ('MetaCons "P" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))
type Index (Point f a) # 
Instance details

Defined in Linear.Affine

type Index (Point f a) = Index (f a)
type IxValue (Point f a) # 
Instance details

Defined in Linear.Affine

type IxValue (Point f a) = IxValue (f a)
type Unwrapped (Point f a) # 
Instance details

Defined in Linear.Affine

type Unwrapped (Point f a) = f a
newtype Vector (Point f a) # 
Instance details

Defined in Linear.Affine

newtype Vector (Point f a) = V_P (Vector (f a))

Vectors

data V2 a #

Constructors

V2 !a !a 

Instances

Instances details
Representable V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Rep V2 
Instance details

Defined in Linear.V2

type Rep V2 = E V2

Methods

tabulate :: (Rep V2 -> a) -> V2 a

index :: V2 a -> Rep V2 -> a

Foldable1 V2 # 
Instance details

Defined in Linear.V2

Methods

fold1 :: Semigroup m => V2 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V2 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V2 a -> m

toNonEmpty :: V2 a -> NonEmpty a

maximum :: Ord a => V2 a -> a

minimum :: Ord a => V2 a -> a

head :: V2 a -> a

last :: V2 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V2 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V2 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V2 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V2 a -> b

Eq1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftEq :: (a -> b -> Bool) -> V2 a -> V2 b -> Bool

Ord1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftCompare :: (a -> b -> Ordering) -> V2 a -> V2 b -> Ordering

Read1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V2 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V2 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V2 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V2 a]

Show1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V2 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V2 a] -> ShowS

Serial1 V2 # 
Instance details

Defined in Linear.V2

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V2 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V2 a)

Distributive V2 # 
Instance details

Defined in Linear.V2

Methods

distribute :: Functor f => f (V2 a) -> V2 (f a)

collect :: Functor f => (a -> V2 b) -> f a -> V2 (f b)

distributeM :: Monad m => m (V2 a) -> V2 (m a)

collectM :: Monad m => (a -> V2 b) -> m a -> V2 (m b)

Applicative V2 # 
Instance details

Defined in Linear.V2

Methods

pure :: a -> V2 a

(<*>) :: V2 (a -> b) -> V2 a -> V2 b

liftA2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

(*>) :: V2 a -> V2 b -> V2 b

(<*) :: V2 a -> V2 b -> V2 a

Functor V2 # 
Instance details

Defined in Linear.V2

Methods

fmap :: (a -> b) -> V2 a -> V2 b

(<$) :: a -> V2 b -> V2 a

Monad V2 # 
Instance details

Defined in Linear.V2

Methods

(>>=) :: V2 a -> (a -> V2 b) -> V2 b

(>>) :: V2 a -> V2 b -> V2 b

return :: a -> V2 a

MonadFix V2 # 
Instance details

Defined in Linear.V2

Methods

mfix :: (a -> V2 a) -> V2 a

MonadZip V2 # 
Instance details

Defined in Linear.V2

Methods

mzip :: V2 a -> V2 b -> V2 (a, b)

mzipWith :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

munzip :: V2 (a, b) -> (V2 a, V2 b)

Foldable V2 # 
Instance details

Defined in Linear.V2

Methods

fold :: Monoid m => V2 m -> m

foldMap :: Monoid m => (a -> m) -> V2 a -> m

foldMap' :: Monoid m => (a -> m) -> V2 a -> m

foldr :: (a -> b -> b) -> b -> V2 a -> b

foldr' :: (a -> b -> b) -> b -> V2 a -> b

foldl :: (b -> a -> b) -> b -> V2 a -> b

foldl' :: (b -> a -> b) -> b -> V2 a -> b

foldr1 :: (a -> a -> a) -> V2 a -> a

foldl1 :: (a -> a -> a) -> V2 a -> a

toList :: V2 a -> [a]

null :: V2 a -> Bool

length :: V2 a -> Int

elem :: Eq a => a -> V2 a -> Bool

maximum :: Ord a => V2 a -> a

minimum :: Ord a => V2 a -> a

sum :: Num a => V2 a -> a

product :: Num a => V2 a -> a

Traversable V2 # 
Instance details

Defined in Linear.V2

Methods

traverse :: Applicative f => (a -> f b) -> V2 a -> f (V2 b)

sequenceA :: Applicative f => V2 (f a) -> f (V2 a)

mapM :: Monad m => (a -> m b) -> V2 a -> m (V2 b)

sequence :: Monad m => V2 (m a) -> m (V2 a)

Hashable1 V2 # 
Instance details

Defined in Linear.V2

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V2 a -> Int

Affine V2 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V2 
Instance details

Defined in Linear.Affine

type Diff V2 = V2

Methods

(.-.) :: Num a => V2 a -> V2 a -> Diff V2 a #

(.+^) :: Num a => V2 a -> Diff V2 a -> V2 a #

(.-^) :: Num a => V2 a -> Diff V2 a -> V2 a #

Metric V2 # 
Instance details

Defined in Linear.V2

Methods

dot :: Num a => V2 a -> V2 a -> a #

quadrance :: Num a => V2 a -> a #

qd :: Num a => V2 a -> V2 a -> a #

distance :: Floating a => V2 a -> V2 a -> a #

norm :: Floating a => V2 a -> a #

signorm :: Floating a => V2 a -> V2 a #

Trace V2 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V2 (V2 a) -> a #

diagonal :: V2 (V2 a) -> V2 a #

Finite V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Size V2 
Instance details

Defined in Linear.V2

type Size V2 = 2

Methods

toV :: V2 a -> V (Size V2) a

fromV :: V (Size V2) a -> V2 a

R1 V2 # 
Instance details

Defined in Linear.V2

Methods

_x :: Lens' (V2 a) a #

R2 V2 # 
Instance details

Defined in Linear.V2

Methods

_y :: Lens' (V2 a) a #

_xy :: Lens' (V2 a) (V2 a) #

Additive V2 # 
Instance details

Defined in Linear.V2

Methods

zero :: Num a => V2 a #

(^+^) :: Num a => V2 a -> V2 a -> V2 a #

(^-^) :: Num a => V2 a -> V2 a -> V2 a #

lerp :: Num a => a -> V2 a -> V2 a -> V2 a #

liftU2 :: (a -> a -> a) -> V2 a -> V2 a -> V2 a #

liftI2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c #

Apply V2 # 
Instance details

Defined in Linear.V2

Methods

(<.>) :: V2 (a -> b) -> V2 a -> V2 b

(.>) :: V2 a -> V2 b -> V2 b

(<.) :: V2 a -> V2 b -> V2 a

liftF2 :: (a -> b -> c) -> V2 a -> V2 b -> V2 c

Bind V2 # 
Instance details

Defined in Linear.V2

Methods

(>>-) :: V2 a -> (a -> V2 b) -> V2 b

join :: V2 (V2 a) -> V2 a

Traversable1 V2 # 
Instance details

Defined in Linear.V2

Methods

traverse1 :: Apply f => (a -> f b) -> V2 a -> f (V2 b)

sequence1 :: Apply f => V2 (f b) -> f (V2 b)

Generic1 V2 # 
Instance details

Defined in Linear.V2

Associated Types

type Rep1 V2 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))

Methods

from1 :: V2 a -> Rep1 V2 a

to1 :: Rep1 V2 a -> V2 a

Lift a => Lift (V2 a :: Type) # 
Instance details

Defined in Linear.V2

Methods

lift :: Quote m => V2 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V2 a -> Code m (V2 a)

Num r => Coalgebra r (E V2) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V2 -> r) -> E V2 -> E V2 -> r #

counital :: (E V2 -> r) -> r #

Unbox a => Vector Vector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicUnsafeFreeze :: Mutable Vector s (V2 a) -> ST s (Vector (V2 a))

basicUnsafeThaw :: Vector (V2 a) -> ST s (Mutable Vector s (V2 a))

basicLength :: Vector (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V2 a) -> Vector (V2 a)

basicUnsafeIndexM :: Vector (V2 a) -> Int -> Box (V2 a)

basicUnsafeCopy :: Mutable Vector s (V2 a) -> Vector (V2 a) -> ST s ()

elemseq :: Vector (V2 a) -> V2 a -> b -> b

Unbox a => MVector MVector (V2 a) # 
Instance details

Defined in Linear.V2

Methods

basicLength :: MVector s (V2 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V2 a) -> MVector s (V2 a)

basicOverlaps :: MVector s (V2 a) -> MVector s (V2 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V2 a))

basicInitialize :: MVector s (V2 a) -> ST s ()

basicUnsafeReplicate :: Int -> V2 a -> ST s (MVector s (V2 a))

basicUnsafeRead :: MVector s (V2 a) -> Int -> ST s (V2 a)

basicUnsafeWrite :: MVector s (V2 a) -> Int -> V2 a -> ST s ()

basicClear :: MVector s (V2 a) -> ST s ()

basicSet :: MVector s (V2 a) -> V2 a -> ST s ()

basicUnsafeCopy :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeMove :: MVector s (V2 a) -> MVector s (V2 a) -> ST s ()

basicUnsafeGrow :: MVector s (V2 a) -> Int -> ST s (MVector s (V2 a))

Binary a => Binary (V2 a) # 
Instance details

Defined in Linear.V2

Methods

put :: V2 a -> Put

get :: Get (V2 a)

putList :: [V2 a] -> Put

Serial a => Serial (V2 a) # 
Instance details

Defined in Linear.V2

Methods

serialize :: MonadPut m => V2 a -> m ()

deserialize :: MonadGet m => m (V2 a)

Serialize a => Serialize (V2 a) # 
Instance details

Defined in Linear.V2

Methods

put :: Putter (V2 a)

get :: Get (V2 a)

NFData a => NFData (V2 a) # 
Instance details

Defined in Linear.V2

Methods

rnf :: V2 a -> ()

Monoid a => Monoid (V2 a) # 
Instance details

Defined in Linear.V2

Methods

mempty :: V2 a

mappend :: V2 a -> V2 a -> V2 a

mconcat :: [V2 a] -> V2 a

Semigroup a => Semigroup (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(<>) :: V2 a -> V2 a -> V2 a

sconcat :: NonEmpty (V2 a) -> V2 a

stimes :: Integral b => b -> V2 a -> V2 a

Data a => Data (V2 a) # 
Instance details

Defined in Linear.V2

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V2 a -> c (V2 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V2 a)

toConstr :: V2 a -> Constr

dataTypeOf :: V2 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V2 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V2 a))

gmapT :: (forall b. Data b => b -> b) -> V2 a -> V2 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V2 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V2 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V2 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V2 a -> m (V2 a)

Bounded a => Bounded (V2 a) # 
Instance details

Defined in Linear.V2

Methods

minBound :: V2 a

maxBound :: V2 a

Floating a => Floating (V2 a) # 
Instance details

Defined in Linear.V2

Methods

pi :: V2 a

exp :: V2 a -> V2 a

log :: V2 a -> V2 a

sqrt :: V2 a -> V2 a

(**) :: V2 a -> V2 a -> V2 a

logBase :: V2 a -> V2 a -> V2 a

sin :: V2 a -> V2 a

cos :: V2 a -> V2 a

tan :: V2 a -> V2 a

asin :: V2 a -> V2 a

acos :: V2 a -> V2 a

atan :: V2 a -> V2 a

sinh :: V2 a -> V2 a

cosh :: V2 a -> V2 a

tanh :: V2 a -> V2 a

asinh :: V2 a -> V2 a

acosh :: V2 a -> V2 a

atanh :: V2 a -> V2 a

log1p :: V2 a -> V2 a

expm1 :: V2 a -> V2 a

log1pexp :: V2 a -> V2 a

log1mexp :: V2 a -> V2 a

Storable a => Storable (V2 a) # 
Instance details

Defined in Linear.V2

Methods

sizeOf :: V2 a -> Int

alignment :: V2 a -> Int

peekElemOff :: Ptr (V2 a) -> Int -> IO (V2 a)

pokeElemOff :: Ptr (V2 a) -> Int -> V2 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V2 a)

pokeByteOff :: Ptr b -> Int -> V2 a -> IO ()

peek :: Ptr (V2 a) -> IO (V2 a)

poke :: Ptr (V2 a) -> V2 a -> IO ()

Generic (V2 a) # 
Instance details

Defined in Linear.V2

Associated Types

type Rep (V2 a) 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))

Methods

from :: V2 a -> Rep (V2 a) x

to :: Rep (V2 a) x -> V2 a

Ix a => Ix (V2 a) # 
Instance details

Defined in Linear.V2

Methods

range :: (V2 a, V2 a) -> [V2 a]

index :: (V2 a, V2 a) -> V2 a -> Int

unsafeIndex :: (V2 a, V2 a) -> V2 a -> Int

inRange :: (V2 a, V2 a) -> V2 a -> Bool

rangeSize :: (V2 a, V2 a) -> Int

unsafeRangeSize :: (V2 a, V2 a) -> Int

Num a => Num (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(+) :: V2 a -> V2 a -> V2 a

(-) :: V2 a -> V2 a -> V2 a

(*) :: V2 a -> V2 a -> V2 a

negate :: V2 a -> V2 a

abs :: V2 a -> V2 a

signum :: V2 a -> V2 a

fromInteger :: Integer -> V2 a

Read a => Read (V2 a) # 
Instance details

Defined in Linear.V2

Methods

readsPrec :: Int -> ReadS (V2 a)

readList :: ReadS [V2 a]

readPrec :: ReadPrec (V2 a)

readListPrec :: ReadPrec [V2 a]

Fractional a => Fractional (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(/) :: V2 a -> V2 a -> V2 a

recip :: V2 a -> V2 a

fromRational :: Rational -> V2 a

Show a => Show (V2 a) # 
Instance details

Defined in Linear.V2

Methods

showsPrec :: Int -> V2 a -> ShowS

show :: V2 a -> String

showList :: [V2 a] -> ShowS

Eq a => Eq (V2 a) # 
Instance details

Defined in Linear.V2

Methods

(==) :: V2 a -> V2 a -> Bool

(/=) :: V2 a -> V2 a -> Bool

Ord a => Ord (V2 a) # 
Instance details

Defined in Linear.V2

Methods

compare :: V2 a -> V2 a -> Ordering

(<) :: V2 a -> V2 a -> Bool

(<=) :: V2 a -> V2 a -> Bool

(>) :: V2 a -> V2 a -> Bool

(>=) :: V2 a -> V2 a -> Bool

max :: V2 a -> V2 a -> V2 a

min :: V2 a -> V2 a -> V2 a

Hashable a => Hashable (V2 a) # 
Instance details

Defined in Linear.V2

Methods

hashWithSalt :: Int -> V2 a -> Int

hash :: V2 a -> Int

Ixed (V2 a) # 
Instance details

Defined in Linear.V2

Methods

ix :: Index (V2 a) -> Traversal' (V2 a) (IxValue (V2 a))

Epsilon a => Epsilon (V2 a) # 
Instance details

Defined in Linear.V2

Methods

nearZero :: V2 a -> Bool #

Random a => Random (V2 a) # 
Instance details

Defined in Linear.V2

Methods

randomR :: RandomGen g => (V2 a, V2 a) -> g -> (V2 a, g)

random :: RandomGen g => g -> (V2 a, g)

randomRs :: RandomGen g => (V2 a, V2 a) -> g -> [V2 a]

randoms :: RandomGen g => g -> [V2 a]

Uniform a => Uniform (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformM :: StatefulGen g m => g -> m (V2 a)

UniformRange a => UniformRange (V2 a) # 
Instance details

Defined in Linear.V2

Methods

uniformRM :: StatefulGen g m => (V2 a, V2 a) -> g -> m (V2 a)

isInRange :: (V2 a, V2 a) -> V2 a -> Bool

Unbox a => Unbox (V2 a) # 
Instance details

Defined in Linear.V2

FoldableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

ifoldMap :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldMap' :: Monoid m => (E V2 -> a -> m) -> V2 a -> m

ifoldr :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

ifoldr' :: (E V2 -> a -> b -> b) -> b -> V2 a -> b

ifoldl' :: (E V2 -> b -> a -> b) -> b -> V2 a -> b

FunctorWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

imap :: (E V2 -> a -> b) -> V2 a -> V2 b

TraversableWithIndex (E V2) V2 # 
Instance details

Defined in Linear.V2

Methods

itraverse :: Applicative f => (E V2 -> a -> f b) -> V2 a -> f (V2 b)

Each (V2 a) (V2 b) a b # 
Instance details

Defined in Linear.V2

Methods

each :: Traversal (V2 a) (V2 b) a b

Field1 (V2 a) (V2 a) a a # 
Instance details

Defined in Linear.V2

Methods

_1 :: Lens (V2 a) (V2 a) a a

Field2 (V2 a) (V2 a) a a # 
Instance details

Defined in Linear.V2

Methods

_2 :: Lens (V2 a) (V2 a) a a

type Rep V2 # 
Instance details

Defined in Linear.V2

type Rep V2 = E V2
type Diff V2 # 
Instance details

Defined in Linear.Affine

type Diff V2 = V2
type Size V2 # 
Instance details

Defined in Linear.V2

type Size V2 = 2
type Rep1 V2 # 
Instance details

Defined in Linear.V2

type Rep1 V2 = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))
data MVector s (V2 a) # 
Instance details

Defined in Linear.V2

data MVector s (V2 a) = MV_V2 !Int !(MVector s a)
type Rep (V2 a) # 
Instance details

Defined in Linear.V2

type Rep (V2 a) = D1 ('MetaData "V2" "Linear.V2" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V2" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))
type Index (V2 a) # 
Instance details

Defined in Linear.V2

type Index (V2 a) = E V2
type IxValue (V2 a) # 
Instance details

Defined in Linear.V2

type IxValue (V2 a) = a
data Vector (V2 a) # 
Instance details

Defined in Linear.V2

data Vector (V2 a) = V_V2 !Int !(Vector a)

data V3 a #

Constructors

V3 !a !a !a 

Instances

Instances details
Representable V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep V3 
Instance details

Defined in Linear.V3

type Rep V3 = E V3

Methods

tabulate :: (Rep V3 -> a) -> V3 a

index :: V3 a -> Rep V3 -> a

Foldable1 V3 # 
Instance details

Defined in Linear.V3

Methods

fold1 :: Semigroup m => V3 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V3 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V3 a -> m

toNonEmpty :: V3 a -> NonEmpty a

maximum :: Ord a => V3 a -> a

minimum :: Ord a => V3 a -> a

head :: V3 a -> a

last :: V3 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V3 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V3 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V3 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V3 a -> b

Eq1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftEq :: (a -> b -> Bool) -> V3 a -> V3 b -> Bool

Ord1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftCompare :: (a -> b -> Ordering) -> V3 a -> V3 b -> Ordering

Read1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V3 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V3 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V3 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V3 a]

Show1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V3 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V3 a] -> ShowS

Serial1 V3 # 
Instance details

Defined in Linear.V3

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V3 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V3 a)

Distributive V3 # 
Instance details

Defined in Linear.V3

Methods

distribute :: Functor f => f (V3 a) -> V3 (f a)

collect :: Functor f => (a -> V3 b) -> f a -> V3 (f b)

distributeM :: Monad m => m (V3 a) -> V3 (m a)

collectM :: Monad m => (a -> V3 b) -> m a -> V3 (m b)

Applicative V3 # 
Instance details

Defined in Linear.V3

Methods

pure :: a -> V3 a

(<*>) :: V3 (a -> b) -> V3 a -> V3 b

liftA2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

(*>) :: V3 a -> V3 b -> V3 b

(<*) :: V3 a -> V3 b -> V3 a

Functor V3 # 
Instance details

Defined in Linear.V3

Methods

fmap :: (a -> b) -> V3 a -> V3 b

(<$) :: a -> V3 b -> V3 a

Monad V3 # 
Instance details

Defined in Linear.V3

Methods

(>>=) :: V3 a -> (a -> V3 b) -> V3 b

(>>) :: V3 a -> V3 b -> V3 b

return :: a -> V3 a

MonadFix V3 # 
Instance details

Defined in Linear.V3

Methods

mfix :: (a -> V3 a) -> V3 a

MonadZip V3 # 
Instance details

Defined in Linear.V3

Methods

mzip :: V3 a -> V3 b -> V3 (a, b)

mzipWith :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

munzip :: V3 (a, b) -> (V3 a, V3 b)

Foldable V3 # 
Instance details

Defined in Linear.V3

Methods

fold :: Monoid m => V3 m -> m

foldMap :: Monoid m => (a -> m) -> V3 a -> m

foldMap' :: Monoid m => (a -> m) -> V3 a -> m

foldr :: (a -> b -> b) -> b -> V3 a -> b

foldr' :: (a -> b -> b) -> b -> V3 a -> b

foldl :: (b -> a -> b) -> b -> V3 a -> b

foldl' :: (b -> a -> b) -> b -> V3 a -> b

foldr1 :: (a -> a -> a) -> V3 a -> a

foldl1 :: (a -> a -> a) -> V3 a -> a

toList :: V3 a -> [a]

null :: V3 a -> Bool

length :: V3 a -> Int

elem :: Eq a => a -> V3 a -> Bool

maximum :: Ord a => V3 a -> a

minimum :: Ord a => V3 a -> a

sum :: Num a => V3 a -> a

product :: Num a => V3 a -> a

Traversable V3 # 
Instance details

Defined in Linear.V3

Methods

traverse :: Applicative f => (a -> f b) -> V3 a -> f (V3 b)

sequenceA :: Applicative f => V3 (f a) -> f (V3 a)

mapM :: Monad m => (a -> m b) -> V3 a -> m (V3 b)

sequence :: Monad m => V3 (m a) -> m (V3 a)

Hashable1 V3 # 
Instance details

Defined in Linear.V3

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V3 a -> Int

Affine V3 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V3 
Instance details

Defined in Linear.Affine

type Diff V3 = V3

Methods

(.-.) :: Num a => V3 a -> V3 a -> Diff V3 a #

(.+^) :: Num a => V3 a -> Diff V3 a -> V3 a #

(.-^) :: Num a => V3 a -> Diff V3 a -> V3 a #

Metric V3 # 
Instance details

Defined in Linear.V3

Methods

dot :: Num a => V3 a -> V3 a -> a #

quadrance :: Num a => V3 a -> a #

qd :: Num a => V3 a -> V3 a -> a #

distance :: Floating a => V3 a -> V3 a -> a #

norm :: Floating a => V3 a -> a #

signorm :: Floating a => V3 a -> V3 a #

Trace V3 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V3 (V3 a) -> a #

diagonal :: V3 (V3 a) -> V3 a #

Finite V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Size V3 
Instance details

Defined in Linear.V3

type Size V3 = 3

Methods

toV :: V3 a -> V (Size V3) a

fromV :: V (Size V3) a -> V3 a

R1 V3 # 
Instance details

Defined in Linear.V3

Methods

_x :: Lens' (V3 a) a #

R2 V3 # 
Instance details

Defined in Linear.V3

Methods

_y :: Lens' (V3 a) a #

_xy :: Lens' (V3 a) (V2 a) #

R3 V3 # 
Instance details

Defined in Linear.V3

Methods

_z :: Lens' (V3 a) a #

_xyz :: Lens' (V3 a) (V3 a) #

Additive V3 # 
Instance details

Defined in Linear.V3

Methods

zero :: Num a => V3 a #

(^+^) :: Num a => V3 a -> V3 a -> V3 a #

(^-^) :: Num a => V3 a -> V3 a -> V3 a #

lerp :: Num a => a -> V3 a -> V3 a -> V3 a #

liftU2 :: (a -> a -> a) -> V3 a -> V3 a -> V3 a #

liftI2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c #

Apply V3 # 
Instance details

Defined in Linear.V3

Methods

(<.>) :: V3 (a -> b) -> V3 a -> V3 b

(.>) :: V3 a -> V3 b -> V3 b

(<.) :: V3 a -> V3 b -> V3 a

liftF2 :: (a -> b -> c) -> V3 a -> V3 b -> V3 c

Bind V3 # 
Instance details

Defined in Linear.V3

Methods

(>>-) :: V3 a -> (a -> V3 b) -> V3 b

join :: V3 (V3 a) -> V3 a

Traversable1 V3 # 
Instance details

Defined in Linear.V3

Methods

traverse1 :: Apply f => (a -> f b) -> V3 a -> f (V3 b)

sequence1 :: Apply f => V3 (f b) -> f (V3 b)

Generic1 V3 # 
Instance details

Defined in Linear.V3

Associated Types

type Rep1 V3 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

Methods

from1 :: V3 a -> Rep1 V3 a

to1 :: Rep1 V3 a -> V3 a

Lift a => Lift (V3 a :: Type) # 
Instance details

Defined in Linear.V3

Methods

lift :: Quote m => V3 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V3 a -> Code m (V3 a)

Num r => Coalgebra r (E V3) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V3 -> r) -> E V3 -> E V3 -> r #

counital :: (E V3 -> r) -> r #

Unbox a => Vector Vector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicUnsafeFreeze :: Mutable Vector s (V3 a) -> ST s (Vector (V3 a))

basicUnsafeThaw :: Vector (V3 a) -> ST s (Mutable Vector s (V3 a))

basicLength :: Vector (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V3 a) -> Vector (V3 a)

basicUnsafeIndexM :: Vector (V3 a) -> Int -> Box (V3 a)

basicUnsafeCopy :: Mutable Vector s (V3 a) -> Vector (V3 a) -> ST s ()

elemseq :: Vector (V3 a) -> V3 a -> b -> b

Unbox a => MVector MVector (V3 a) # 
Instance details

Defined in Linear.V3

Methods

basicLength :: MVector s (V3 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V3 a) -> MVector s (V3 a)

basicOverlaps :: MVector s (V3 a) -> MVector s (V3 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V3 a))

basicInitialize :: MVector s (V3 a) -> ST s ()

basicUnsafeReplicate :: Int -> V3 a -> ST s (MVector s (V3 a))

basicUnsafeRead :: MVector s (V3 a) -> Int -> ST s (V3 a)

basicUnsafeWrite :: MVector s (V3 a) -> Int -> V3 a -> ST s ()

basicClear :: MVector s (V3 a) -> ST s ()

basicSet :: MVector s (V3 a) -> V3 a -> ST s ()

basicUnsafeCopy :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeMove :: MVector s (V3 a) -> MVector s (V3 a) -> ST s ()

basicUnsafeGrow :: MVector s (V3 a) -> Int -> ST s (MVector s (V3 a))

Binary a => Binary (V3 a) # 
Instance details

Defined in Linear.V3

Methods

put :: V3 a -> Put

get :: Get (V3 a)

putList :: [V3 a] -> Put

Serial a => Serial (V3 a) # 
Instance details

Defined in Linear.V3

Methods

serialize :: MonadPut m => V3 a -> m ()

deserialize :: MonadGet m => m (V3 a)

Serialize a => Serialize (V3 a) # 
Instance details

Defined in Linear.V3

Methods

put :: Putter (V3 a)

get :: Get (V3 a)

NFData a => NFData (V3 a) # 
Instance details

Defined in Linear.V3

Methods

rnf :: V3 a -> ()

Monoid a => Monoid (V3 a) # 
Instance details

Defined in Linear.V3

Methods

mempty :: V3 a

mappend :: V3 a -> V3 a -> V3 a

mconcat :: [V3 a] -> V3 a

Semigroup a => Semigroup (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(<>) :: V3 a -> V3 a -> V3 a

sconcat :: NonEmpty (V3 a) -> V3 a

stimes :: Integral b => b -> V3 a -> V3 a

Data a => Data (V3 a) # 
Instance details

Defined in Linear.V3

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V3 a -> c (V3 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V3 a)

toConstr :: V3 a -> Constr

dataTypeOf :: V3 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V3 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V3 a))

gmapT :: (forall b. Data b => b -> b) -> V3 a -> V3 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V3 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V3 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V3 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V3 a -> m (V3 a)

Bounded a => Bounded (V3 a) # 
Instance details

Defined in Linear.V3

Methods

minBound :: V3 a

maxBound :: V3 a

Floating a => Floating (V3 a) # 
Instance details

Defined in Linear.V3

Methods

pi :: V3 a

exp :: V3 a -> V3 a

log :: V3 a -> V3 a

sqrt :: V3 a -> V3 a

(**) :: V3 a -> V3 a -> V3 a

logBase :: V3 a -> V3 a -> V3 a

sin :: V3 a -> V3 a

cos :: V3 a -> V3 a

tan :: V3 a -> V3 a

asin :: V3 a -> V3 a

acos :: V3 a -> V3 a

atan :: V3 a -> V3 a

sinh :: V3 a -> V3 a

cosh :: V3 a -> V3 a

tanh :: V3 a -> V3 a

asinh :: V3 a -> V3 a

acosh :: V3 a -> V3 a

atanh :: V3 a -> V3 a

log1p :: V3 a -> V3 a

expm1 :: V3 a -> V3 a

log1pexp :: V3 a -> V3 a

log1mexp :: V3 a -> V3 a

Storable a => Storable (V3 a) # 
Instance details

Defined in Linear.V3

Methods

sizeOf :: V3 a -> Int

alignment :: V3 a -> Int

peekElemOff :: Ptr (V3 a) -> Int -> IO (V3 a)

pokeElemOff :: Ptr (V3 a) -> Int -> V3 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V3 a)

pokeByteOff :: Ptr b -> Int -> V3 a -> IO ()

peek :: Ptr (V3 a) -> IO (V3 a)

poke :: Ptr (V3 a) -> V3 a -> IO ()

Generic (V3 a) # 
Instance details

Defined in Linear.V3

Associated Types

type Rep (V3 a) 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))

Methods

from :: V3 a -> Rep (V3 a) x

to :: Rep (V3 a) x -> V3 a

Ix a => Ix (V3 a) # 
Instance details

Defined in Linear.V3

Methods

range :: (V3 a, V3 a) -> [V3 a]

index :: (V3 a, V3 a) -> V3 a -> Int

unsafeIndex :: (V3 a, V3 a) -> V3 a -> Int

inRange :: (V3 a, V3 a) -> V3 a -> Bool

rangeSize :: (V3 a, V3 a) -> Int

unsafeRangeSize :: (V3 a, V3 a) -> Int

Num a => Num (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(+) :: V3 a -> V3 a -> V3 a

(-) :: V3 a -> V3 a -> V3 a

(*) :: V3 a -> V3 a -> V3 a

negate :: V3 a -> V3 a

abs :: V3 a -> V3 a

signum :: V3 a -> V3 a

fromInteger :: Integer -> V3 a

Read a => Read (V3 a) # 
Instance details

Defined in Linear.V3

Methods

readsPrec :: Int -> ReadS (V3 a)

readList :: ReadS [V3 a]

readPrec :: ReadPrec (V3 a)

readListPrec :: ReadPrec [V3 a]

Fractional a => Fractional (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(/) :: V3 a -> V3 a -> V3 a

recip :: V3 a -> V3 a

fromRational :: Rational -> V3 a

Show a => Show (V3 a) # 
Instance details

Defined in Linear.V3

Methods

showsPrec :: Int -> V3 a -> ShowS

show :: V3 a -> String

showList :: [V3 a] -> ShowS

Eq a => Eq (V3 a) # 
Instance details

Defined in Linear.V3

Methods

(==) :: V3 a -> V3 a -> Bool

(/=) :: V3 a -> V3 a -> Bool

Ord a => Ord (V3 a) # 
Instance details

Defined in Linear.V3

Methods

compare :: V3 a -> V3 a -> Ordering

(<) :: V3 a -> V3 a -> Bool

(<=) :: V3 a -> V3 a -> Bool

(>) :: V3 a -> V3 a -> Bool

(>=) :: V3 a -> V3 a -> Bool

max :: V3 a -> V3 a -> V3 a

min :: V3 a -> V3 a -> V3 a

Hashable a => Hashable (V3 a) # 
Instance details

Defined in Linear.V3

Methods

hashWithSalt :: Int -> V3 a -> Int

hash :: V3 a -> Int

Ixed (V3 a) # 
Instance details

Defined in Linear.V3

Methods

ix :: Index (V3 a) -> Traversal' (V3 a) (IxValue (V3 a))

Epsilon a => Epsilon (V3 a) # 
Instance details

Defined in Linear.V3

Methods

nearZero :: V3 a -> Bool #

Random a => Random (V3 a) # 
Instance details

Defined in Linear.V3

Methods

randomR :: RandomGen g => (V3 a, V3 a) -> g -> (V3 a, g)

random :: RandomGen g => g -> (V3 a, g)

randomRs :: RandomGen g => (V3 a, V3 a) -> g -> [V3 a]

randoms :: RandomGen g => g -> [V3 a]

Uniform a => Uniform (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformM :: StatefulGen g m => g -> m (V3 a)

UniformRange a => UniformRange (V3 a) # 
Instance details

Defined in Linear.V3

Methods

uniformRM :: StatefulGen g m => (V3 a, V3 a) -> g -> m (V3 a)

isInRange :: (V3 a, V3 a) -> V3 a -> Bool

Unbox a => Unbox (V3 a) # 
Instance details

Defined in Linear.V3

FoldableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

ifoldMap :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldMap' :: Monoid m => (E V3 -> a -> m) -> V3 a -> m

ifoldr :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

ifoldr' :: (E V3 -> a -> b -> b) -> b -> V3 a -> b

ifoldl' :: (E V3 -> b -> a -> b) -> b -> V3 a -> b

FunctorWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

imap :: (E V3 -> a -> b) -> V3 a -> V3 b

TraversableWithIndex (E V3) V3 # 
Instance details

Defined in Linear.V3

Methods

itraverse :: Applicative f => (E V3 -> a -> f b) -> V3 a -> f (V3 b)

Each (V3 a) (V3 b) a b # 
Instance details

Defined in Linear.V3

Methods

each :: Traversal (V3 a) (V3 b) a b

Field1 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_1 :: Lens (V3 a) (V3 a) a a

Field2 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_2 :: Lens (V3 a) (V3 a) a a

Field3 (V3 a) (V3 a) a a # 
Instance details

Defined in Linear.V3

Methods

_3 :: Lens (V3 a) (V3 a) a a

type Rep V3 # 
Instance details

Defined in Linear.V3

type Rep V3 = E V3
type Diff V3 # 
Instance details

Defined in Linear.Affine

type Diff V3 = V3
type Size V3 # 
Instance details

Defined in Linear.V3

type Size V3 = 3
type Rep1 V3 # 
Instance details

Defined in Linear.V3

type Rep1 V3 = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))
data MVector s (V3 a) # 
Instance details

Defined in Linear.V3

data MVector s (V3 a) = MV_V3 !Int !(MVector s a)
type Rep (V3 a) # 
Instance details

Defined in Linear.V3

type Rep (V3 a) = D1 ('MetaData "V3" "Linear.V3" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V3" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type Index (V3 a) # 
Instance details

Defined in Linear.V3

type Index (V3 a) = E V3
type IxValue (V3 a) # 
Instance details

Defined in Linear.V3

type IxValue (V3 a) = a
data Vector (V3 a) # 
Instance details

Defined in Linear.V3

data Vector (V3 a) = V_V3 !Int !(Vector a)

data V4 a #

Constructors

V4 !a !a !a !a 

Instances

Instances details
Representable V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep V4 
Instance details

Defined in Linear.V4

type Rep V4 = E V4

Methods

tabulate :: (Rep V4 -> a) -> V4 a

index :: V4 a -> Rep V4 -> a

Foldable1 V4 # 
Instance details

Defined in Linear.V4

Methods

fold1 :: Semigroup m => V4 m -> m

foldMap1 :: Semigroup m => (a -> m) -> V4 a -> m

foldMap1' :: Semigroup m => (a -> m) -> V4 a -> m

toNonEmpty :: V4 a -> NonEmpty a

maximum :: Ord a => V4 a -> a

minimum :: Ord a => V4 a -> a

head :: V4 a -> a

last :: V4 a -> a

foldrMap1 :: (a -> b) -> (a -> b -> b) -> V4 a -> b

foldlMap1' :: (a -> b) -> (b -> a -> b) -> V4 a -> b

foldlMap1 :: (a -> b) -> (b -> a -> b) -> V4 a -> b

foldrMap1' :: (a -> b) -> (a -> b -> b) -> V4 a -> b

Eq1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftEq :: (a -> b -> Bool) -> V4 a -> V4 b -> Bool

Ord1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftCompare :: (a -> b -> Ordering) -> V4 a -> V4 b -> Ordering

Read1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (V4 a)

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [V4 a]

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (V4 a)

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [V4 a]

Show1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> V4 a -> ShowS

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [V4 a] -> ShowS

Serial1 V4 # 
Instance details

Defined in Linear.V4

Methods

serializeWith :: MonadPut m => (a -> m ()) -> V4 a -> m ()

deserializeWith :: MonadGet m => m a -> m (V4 a)

Distributive V4 # 
Instance details

Defined in Linear.V4

Methods

distribute :: Functor f => f (V4 a) -> V4 (f a)

collect :: Functor f => (a -> V4 b) -> f a -> V4 (f b)

distributeM :: Monad m => m (V4 a) -> V4 (m a)

collectM :: Monad m => (a -> V4 b) -> m a -> V4 (m b)

Applicative V4 # 
Instance details

Defined in Linear.V4

Methods

pure :: a -> V4 a

(<*>) :: V4 (a -> b) -> V4 a -> V4 b

liftA2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

(*>) :: V4 a -> V4 b -> V4 b

(<*) :: V4 a -> V4 b -> V4 a

Functor V4 # 
Instance details

Defined in Linear.V4

Methods

fmap :: (a -> b) -> V4 a -> V4 b

(<$) :: a -> V4 b -> V4 a

Monad V4 # 
Instance details

Defined in Linear.V4

Methods

(>>=) :: V4 a -> (a -> V4 b) -> V4 b

(>>) :: V4 a -> V4 b -> V4 b

return :: a -> V4 a

MonadFix V4 # 
Instance details

Defined in Linear.V4

Methods

mfix :: (a -> V4 a) -> V4 a

MonadZip V4 # 
Instance details

Defined in Linear.V4

Methods

mzip :: V4 a -> V4 b -> V4 (a, b)

mzipWith :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

munzip :: V4 (a, b) -> (V4 a, V4 b)

Foldable V4 # 
Instance details

Defined in Linear.V4

Methods

fold :: Monoid m => V4 m -> m

foldMap :: Monoid m => (a -> m) -> V4 a -> m

foldMap' :: Monoid m => (a -> m) -> V4 a -> m

foldr :: (a -> b -> b) -> b -> V4 a -> b

foldr' :: (a -> b -> b) -> b -> V4 a -> b

foldl :: (b -> a -> b) -> b -> V4 a -> b

foldl' :: (b -> a -> b) -> b -> V4 a -> b

foldr1 :: (a -> a -> a) -> V4 a -> a

foldl1 :: (a -> a -> a) -> V4 a -> a

toList :: V4 a -> [a]

null :: V4 a -> Bool

length :: V4 a -> Int

elem :: Eq a => a -> V4 a -> Bool

maximum :: Ord a => V4 a -> a

minimum :: Ord a => V4 a -> a

sum :: Num a => V4 a -> a

product :: Num a => V4 a -> a

Traversable V4 # 
Instance details

Defined in Linear.V4

Methods

traverse :: Applicative f => (a -> f b) -> V4 a -> f (V4 b)

sequenceA :: Applicative f => V4 (f a) -> f (V4 a)

mapM :: Monad m => (a -> m b) -> V4 a -> m (V4 b)

sequence :: Monad m => V4 (m a) -> m (V4 a)

Hashable1 V4 # 
Instance details

Defined in Linear.V4

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> V4 a -> Int

Affine V4 # 
Instance details

Defined in Linear.Affine

Associated Types

type Diff V4 
Instance details

Defined in Linear.Affine

type Diff V4 = V4

Methods

(.-.) :: Num a => V4 a -> V4 a -> Diff V4 a #

(.+^) :: Num a => V4 a -> Diff V4 a -> V4 a #

(.-^) :: Num a => V4 a -> Diff V4 a -> V4 a #

Metric V4 # 
Instance details

Defined in Linear.V4

Methods

dot :: Num a => V4 a -> V4 a -> a #

quadrance :: Num a => V4 a -> a #

qd :: Num a => V4 a -> V4 a -> a #

distance :: Floating a => V4 a -> V4 a -> a #

norm :: Floating a => V4 a -> a #

signorm :: Floating a => V4 a -> V4 a #

Trace V4 # 
Instance details

Defined in Linear.Trace

Methods

trace :: Num a => V4 (V4 a) -> a #

diagonal :: V4 (V4 a) -> V4 a #

Finite V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Size V4 
Instance details

Defined in Linear.V4

type Size V4 = 4

Methods

toV :: V4 a -> V (Size V4) a

fromV :: V (Size V4) a -> V4 a

R1 V4 # 
Instance details

Defined in Linear.V4

Methods

_x :: Lens' (V4 a) a #

R2 V4 # 
Instance details

Defined in Linear.V4

Methods

_y :: Lens' (V4 a) a #

_xy :: Lens' (V4 a) (V2 a) #

R3 V4 # 
Instance details

Defined in Linear.V4

Methods

_z :: Lens' (V4 a) a #

_xyz :: Lens' (V4 a) (V3 a) #

R4 V4 # 
Instance details

Defined in Linear.V4

Methods

_w :: Lens' (V4 a) a #

_xyzw :: Lens' (V4 a) (V4 a) #

Additive V4 # 
Instance details

Defined in Linear.V4

Methods

zero :: Num a => V4 a #

(^+^) :: Num a => V4 a -> V4 a -> V4 a #

(^-^) :: Num a => V4 a -> V4 a -> V4 a #

lerp :: Num a => a -> V4 a -> V4 a -> V4 a #

liftU2 :: (a -> a -> a) -> V4 a -> V4 a -> V4 a #

liftI2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c #

Apply V4 # 
Instance details

Defined in Linear.V4

Methods

(<.>) :: V4 (a -> b) -> V4 a -> V4 b

(.>) :: V4 a -> V4 b -> V4 b

(<.) :: V4 a -> V4 b -> V4 a

liftF2 :: (a -> b -> c) -> V4 a -> V4 b -> V4 c

Bind V4 # 
Instance details

Defined in Linear.V4

Methods

(>>-) :: V4 a -> (a -> V4 b) -> V4 b

join :: V4 (V4 a) -> V4 a

Traversable1 V4 # 
Instance details

Defined in Linear.V4

Methods

traverse1 :: Apply f => (a -> f b) -> V4 a -> f (V4 b)

sequence1 :: Apply f => V4 (f b) -> f (V4 b)

Generic1 V4 # 
Instance details

Defined in Linear.V4

Associated Types

type Rep1 V4 
Instance details

Defined in Linear.V4

type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))

Methods

from1 :: V4 a -> Rep1 V4 a

to1 :: Rep1 V4 a -> V4 a

Lift a => Lift (V4 a :: Type) # 
Instance details

Defined in Linear.V4

Methods

lift :: Quote m => V4 a -> m Exp

liftTyped :: forall (m :: Type -> Type). Quote m => V4 a -> Code m (V4 a)

Num r => Coalgebra r (E V4) # 
Instance details

Defined in Linear.Algebra

Methods

comult :: (E V4 -> r) -> E V4 -> E V4 -> r #

counital :: (E V4 -> r) -> r #

Unbox a => Vector Vector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicUnsafeFreeze :: Mutable Vector s (V4 a) -> ST s (Vector (V4 a))

basicUnsafeThaw :: Vector (V4 a) -> ST s (Mutable Vector s (V4 a))

basicLength :: Vector (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (V4 a) -> Vector (V4 a)

basicUnsafeIndexM :: Vector (V4 a) -> Int -> Box (V4 a)

basicUnsafeCopy :: Mutable Vector s (V4 a) -> Vector (V4 a) -> ST s ()

elemseq :: Vector (V4 a) -> V4 a -> b -> b

Unbox a => MVector MVector (V4 a) # 
Instance details

Defined in Linear.V4

Methods

basicLength :: MVector s (V4 a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (V4 a) -> MVector s (V4 a)

basicOverlaps :: MVector s (V4 a) -> MVector s (V4 a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (V4 a))

basicInitialize :: MVector s (V4 a) -> ST s ()

basicUnsafeReplicate :: Int -> V4 a -> ST s (MVector s (V4 a))

basicUnsafeRead :: MVector s (V4 a) -> Int -> ST s (V4 a)

basicUnsafeWrite :: MVector s (V4 a) -> Int -> V4 a -> ST s ()

basicClear :: MVector s (V4 a) -> ST s ()

basicSet :: MVector s (V4 a) -> V4 a -> ST s ()

basicUnsafeCopy :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeMove :: MVector s (V4 a) -> MVector s (V4 a) -> ST s ()

basicUnsafeGrow :: MVector s (V4 a) -> Int -> ST s (MVector s (V4 a))

Binary a => Binary (V4 a) # 
Instance details

Defined in Linear.V4

Methods

put :: V4 a -> Put

get :: Get (V4 a)

putList :: [V4 a] -> Put

Serial a => Serial (V4 a) # 
Instance details

Defined in Linear.V4

Methods

serialize :: MonadPut m => V4 a -> m ()

deserialize :: MonadGet m => m (V4 a)

Serialize a => Serialize (V4 a) # 
Instance details

Defined in Linear.V4

Methods

put :: Putter (V4 a)

get :: Get (V4 a)

NFData a => NFData (V4 a) # 
Instance details

Defined in Linear.V4

Methods

rnf :: V4 a -> ()

Monoid a => Monoid (V4 a) # 
Instance details

Defined in Linear.V4

Methods

mempty :: V4 a

mappend :: V4 a -> V4 a -> V4 a

mconcat :: [V4 a] -> V4 a

Semigroup a => Semigroup (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(<>) :: V4 a -> V4 a -> V4 a

sconcat :: NonEmpty (V4 a) -> V4 a

stimes :: Integral b => b -> V4 a -> V4 a

Data a => Data (V4 a) # 
Instance details

Defined in Linear.V4

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> V4 a -> c (V4 a)

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (V4 a)

toConstr :: V4 a -> Constr

dataTypeOf :: V4 a -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (V4 a))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (V4 a))

gmapT :: (forall b. Data b => b -> b) -> V4 a -> V4 a

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> V4 a -> r

gmapQ :: (forall d. Data d => d -> u) -> V4 a -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> V4 a -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> V4 a -> m (V4 a)

Bounded a => Bounded (V4 a) # 
Instance details

Defined in Linear.V4

Methods

minBound :: V4 a

maxBound :: V4 a

Floating a => Floating (V4 a) # 
Instance details

Defined in Linear.V4

Methods

pi :: V4 a

exp :: V4 a -> V4 a

log :: V4 a -> V4 a

sqrt :: V4 a -> V4 a

(**) :: V4 a -> V4 a -> V4 a

logBase :: V4 a -> V4 a -> V4 a

sin :: V4 a -> V4 a

cos :: V4 a -> V4 a

tan :: V4 a -> V4 a

asin :: V4 a -> V4 a

acos :: V4 a -> V4 a

atan :: V4 a -> V4 a

sinh :: V4 a -> V4 a

cosh :: V4 a -> V4 a

tanh :: V4 a -> V4 a

asinh :: V4 a -> V4 a

acosh :: V4 a -> V4 a

atanh :: V4 a -> V4 a

log1p :: V4 a -> V4 a

expm1 :: V4 a -> V4 a

log1pexp :: V4 a -> V4 a

log1mexp :: V4 a -> V4 a

Storable a => Storable (V4 a) # 
Instance details

Defined in Linear.V4

Methods

sizeOf :: V4 a -> Int

alignment :: V4 a -> Int

peekElemOff :: Ptr (V4 a) -> Int -> IO (V4 a)

pokeElemOff :: Ptr (V4 a) -> Int -> V4 a -> IO ()

peekByteOff :: Ptr b -> Int -> IO (V4 a)

pokeByteOff :: Ptr b -> Int -> V4 a -> IO ()

peek :: Ptr (V4 a) -> IO (V4 a)

poke :: Ptr (V4 a) -> V4 a -> IO ()

Generic (V4 a) # 
Instance details

Defined in Linear.V4

Associated Types

type Rep (V4 a) 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))

Methods

from :: V4 a -> Rep (V4 a) x

to :: Rep (V4 a) x -> V4 a

Ix a => Ix (V4 a) # 
Instance details

Defined in Linear.V4

Methods

range :: (V4 a, V4 a) -> [V4 a]

index :: (V4 a, V4 a) -> V4 a -> Int

unsafeIndex :: (V4 a, V4 a) -> V4 a -> Int

inRange :: (V4 a, V4 a) -> V4 a -> Bool

rangeSize :: (V4 a, V4 a) -> Int

unsafeRangeSize :: (V4 a, V4 a) -> Int

Num a => Num (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(+) :: V4 a -> V4 a -> V4 a

(-) :: V4 a -> V4 a -> V4 a

(*) :: V4 a -> V4 a -> V4 a

negate :: V4 a -> V4 a

abs :: V4 a -> V4 a

signum :: V4 a -> V4 a

fromInteger :: Integer -> V4 a

Read a => Read (V4 a) # 
Instance details

Defined in Linear.V4

Methods

readsPrec :: Int -> ReadS (V4 a)

readList :: ReadS [V4 a]

readPrec :: ReadPrec (V4 a)

readListPrec :: ReadPrec [V4 a]

Fractional a => Fractional (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(/) :: V4 a -> V4 a -> V4 a

recip :: V4 a -> V4 a

fromRational :: Rational -> V4 a

Show a => Show (V4 a) # 
Instance details

Defined in Linear.V4

Methods

showsPrec :: Int -> V4 a -> ShowS

show :: V4 a -> String

showList :: [V4 a] -> ShowS

Eq a => Eq (V4 a) # 
Instance details

Defined in Linear.V4

Methods

(==) :: V4 a -> V4 a -> Bool

(/=) :: V4 a -> V4 a -> Bool

Ord a => Ord (V4 a) # 
Instance details

Defined in Linear.V4

Methods

compare :: V4 a -> V4 a -> Ordering

(<) :: V4 a -> V4 a -> Bool

(<=) :: V4 a -> V4 a -> Bool

(>) :: V4 a -> V4 a -> Bool

(>=) :: V4 a -> V4 a -> Bool

max :: V4 a -> V4 a -> V4 a

min :: V4 a -> V4 a -> V4 a

Hashable a => Hashable (V4 a) # 
Instance details

Defined in Linear.V4

Methods

hashWithSalt :: Int -> V4 a -> Int

hash :: V4 a -> Int

Ixed (V4 a) # 
Instance details

Defined in Linear.V4

Methods

ix :: Index (V4 a) -> Traversal' (V4 a) (IxValue (V4 a))

Epsilon a => Epsilon (V4 a) # 
Instance details

Defined in Linear.V4

Methods

nearZero :: V4 a -> Bool #

Random a => Random (V4 a) # 
Instance details

Defined in Linear.V4

Methods

randomR :: RandomGen g => (V4 a, V4 a) -> g -> (V4 a, g)

random :: RandomGen g => g -> (V4 a, g)

randomRs :: RandomGen g => (V4 a, V4 a) -> g -> [V4 a]

randoms :: RandomGen g => g -> [V4 a]

Uniform a => Uniform (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformM :: StatefulGen g m => g -> m (V4 a)

UniformRange a => UniformRange (V4 a) # 
Instance details

Defined in Linear.V4

Methods

uniformRM :: StatefulGen g m => (V4 a, V4 a) -> g -> m (V4 a)

isInRange :: (V4 a, V4 a) -> V4 a -> Bool

Unbox a => Unbox (V4 a) # 
Instance details

Defined in Linear.V4

FoldableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

ifoldMap :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldMap' :: Monoid m => (E V4 -> a -> m) -> V4 a -> m

ifoldr :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

ifoldr' :: (E V4 -> a -> b -> b) -> b -> V4 a -> b

ifoldl' :: (E V4 -> b -> a -> b) -> b -> V4 a -> b

FunctorWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

imap :: (E V4 -> a -> b) -> V4 a -> V4 b

TraversableWithIndex (E V4) V4 # 
Instance details

Defined in Linear.V4

Methods

itraverse :: Applicative f => (E V4 -> a -> f b) -> V4 a -> f (V4 b)

Each (V4 a) (V4 b) a b # 
Instance details

Defined in Linear.V4

Methods

each :: Traversal (V4 a) (V4 b) a b

Field1 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_1 :: Lens (V4 a) (V4 a) a a

Field2 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_2 :: Lens (V4 a) (V4 a) a a

Field3 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_3 :: Lens (V4 a) (V4 a) a a

Field4 (V4 a) (V4 a) a a # 
Instance details

Defined in Linear.V4

Methods

_4 :: Lens (V4 a) (V4 a) a a

type Rep V4 # 
Instance details

Defined in Linear.V4

type Rep V4 = E V4
type Diff V4 # 
Instance details

Defined in Linear.Affine

type Diff V4 = V4
type Size V4 # 
Instance details

Defined in Linear.V4

type Size V4 = 4
type Rep1 V4 # 
Instance details

Defined in Linear.V4

type Rep1 V4 = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))
data MVector s (V4 a) # 
Instance details

Defined in Linear.V4

data MVector s (V4 a) = MV_V4 !Int !(MVector s a)
type Rep (V4 a) # 
Instance details

Defined in Linear.V4

type Rep (V4 a) = D1 ('MetaData "V4" "Linear.V4" "linear-1.23.3-CYf7SJelI6n8LLF8cRJ7yV" 'False) (C1 ('MetaCons "V4" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))
type Index (V4 a) # 
Instance details

Defined in Linear.V4

type Index (V4 a) = E V4
type IxValue (V4 a) # 
Instance details

Defined in Linear.V4

type IxValue (V4 a) = a
data Vector (V4 a) # 
Instance details

Defined in Linear.V4

data Vector (V4 a) = V_V4 !Int !(Vector a)