Convert a 3-dimensional affine vector into a 4-dimensional homogeneous vector,
i.e. sets the w coordinate to 0.
Modulesdl2-2.5.5.0Haskell2010
SDL.Vect
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.
- 22 types
- 15 classes
- 168 values
- Packagesdl2-2.5.5.0
- Exports210
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceVect.hs
Create a unit vector.
unit _x :: V2 IntV2 1 0
Instances133NFData1, IsList, Eq, Data, Ord, Read, …
NFData1 VectorDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Word16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Word32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Word64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector Word8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector CharDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector IntDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector WordDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector ()Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseNFData a => Vector Vector (DoNotUnboxNormalForm a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BasePrim a => Vector Vector (UnboxViaPrim a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector (V0 a)Defined in linear-1.22 · Linear.V0Vector Vector (DoNotUnboxLazy a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseVector Vector (DoNotUnboxStrict a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Complex a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (First a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Last a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Max a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Min a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (WrappedMonoid a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Identity a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Down a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Dual a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Product a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Sum a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Plucker a)Defined in linear-1.22 · Linear.PluckerUnbox a => Vector Vector (Quaternion a)Defined in linear-1.22 · Linear.QuaternionUnbox a => Vector Vector (V1 a)Defined in linear-1.22 · Linear.V1Unbox a => Vector Vector (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => Vector Vector (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => Vector Vector (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => Vector Vector (V2 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox a => Vector Vector (V3 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox a => Vector Vector (V4 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox (f a) => Vector Vector (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => Vector Vector (Point f a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vect(IsoUnbox a b, Unbox b) => Vector Vector (As a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b) => Vector Vector (Arg a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b) => Vector Vector (a, b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox (f a) => Vector Vector (Alt f a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Vector Vector (Const a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Dim n, Unbox a) => Vector Vector (V n a)Defined in linear-1.22 · Linear.V(Unbox a, Unbox b, Unbox c) => Vector Vector (a, b, c)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d) => Vector Vector (a, b, c, d)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox (f (g a)) => Vector Vector (Compose f g a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => Vector Vector (a, b, c, d, e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => Vector Vector (a, b, c, d, e, f)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox e => IsList (Vector e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan(Unbox a, Eq a) => Eq (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan(Data a, Unbox a) => Data (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Ord a) => Ord (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan(Read a, Unbox a) => Read (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphan(Show a, Unbox a) => Show (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphanUnbox a => Semigroup (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphanUnbox a => Monoid (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed · orphanNFData (Vector a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => Ixed (Vector a)Defined in lens-5.3.5 · Control.Lens.AtUnbox a => AsEmpty (Vector a)Defined in lens-5.3.5 · Control.Lens.EmptyUnbox a => Reversing (Vector a)Defined in lens-5.3.5 · Control.Lens.Internal.IsoUnbox a => Wrapped (Vector a)Defined in lens-5.3.5 · Control.Lens.Wrapped(Unbox a, t ~ Vector a') => Rewrapped (Vector a) tDefined in lens-5.3.5 · Control.Lens.Wrapped(Unbox a, Unbox b) => Cons (Vector a) (Vector b) a bDefined in lens-5.3.5 · Control.Lens.Cons(Unbox a, Unbox b) => Snoc (Vector a) (Vector b) a bDefined in lens-5.3.5 · Control.Lens.Cons(Unbox a, Unbox b) => Each (Vector a) (Vector b) a bDefined in lens-5.3.5 · Control.Lens.Eachtype Item (Vector e) = eDefined in vector-0.13.2.0 · Data.Vector.Unboxed · orphantype Mutable Vector = MVectorDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Word16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Word32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Word64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector Word8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector CharDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector IntDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector WordDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Complex a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Compose f g a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Arg a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (First a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Last a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Max a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Min a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (WrappedMonoid a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Const a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Identity a)V_Identity (Vector a)
data Vector (Down a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Alt f a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Dual a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Product a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Sum a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (Point f a)Defined in linear-1.22 · Linear.Affinedata Vector (Plucker a)Defined in linear-1.22 · Linear.Pluckerdata Vector (Quaternion a)Defined in linear-1.22 · Linear.Quaterniondata Vector (V n a)Defined in linear-1.22 · Linear.Vdata Vector (V0 a)V_V0 Int
data Vector (V1 a)V_V1 (Vector a)
data Vector (V2 a)Defined in linear-1.22 · Linear.V2data Vector (V3 a)Defined in linear-1.22 · Linear.V3data Vector (V4 a)Defined in linear-1.22 · Linear.V4data Vector (Point f a)V_P !(Vector (f a))
data Vector (V2 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata Vector (V3 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata Vector (V4 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata Vector (As a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (DoNotUnboxLazy a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (DoNotUnboxNormalForm a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (DoNotUnboxStrict a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (UnboxViaPrim a)V_UnboxViaPrim (Vector a)
data Vector ()Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (a, b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (a, b, c)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (a, b, c, d)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (a, b, c, d, e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata Vector (a, b, c, d, e, f)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basetype Unwrapped (Vector a) = [a]Defined in lens-5.3.5 · Control.Lens.Wrappedtype Index (Vector a) = IntDefined in lens-5.3.5 · Control.Lens.Attype IxValue (Vector a) = aDefined in lens-5.3.5 · Control.Lens.At
A handy wrapper to help distinguish points from vectors at the type level
Constructors
P (f a)
Instances60Generic1, Monad, Functor, Applicative, Foldable, Traversable, …
Generic1 (Point f)Defined in linear-1.22 · Linear.AffineUnbox (f a) => Vector Vector (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => MVector MVector (Point f a)Defined in linear-1.22 · Linear.AffineMonad f => Monad (Point f)Defined in linear-1.22 · Linear.AffineFunctor f => Functor (Point f)Defined in linear-1.22 · Linear.AffineApplicative f => Applicative (Point f)Defined in linear-1.22 · Linear.AffineFoldable f => Foldable (Point f)Defined in linear-1.22 · Linear.AffineTraversable f => Traversable (Point f)Defined in linear-1.22 · Linear.AffineEq1 f => Eq1 (Point f)Defined in linear-1.22 · Linear.AffineOrd1 f => Ord1 (Point f)Defined in linear-1.22 · Linear.AffineRead1 f => Read1 (Point f)Defined in linear-1.22 · Linear.AffineShow1 f => Show1 (Point f)Defined in linear-1.22 · Linear.AffineHashable1 f => Hashable1 (Point f)Defined in linear-1.22 · Linear.AffineDistributive f => Distributive (Point f)Defined in linear-1.22 · Linear.AffineApply f => Apply (Point f)Defined in linear-1.22 · Linear.AffineBind f => Bind (Point f)Defined in linear-1.22 · Linear.AffineRepresentable f => Representable (Point f)Defined in linear-1.22 · Linear.AffineSerial1 f => Serial1 (Point f)Defined in linear-1.22 · Linear.AffineMetric f => Metric (Point f)Defined in linear-1.22 · Linear.AffineR1 f => R1 (Point f)Defined in linear-1.22 · Linear.AffineR2 f => R2 (Point f)Defined in linear-1.22 · Linear.AffineR3 f => R3 (Point f)Defined in linear-1.22 · Linear.AffineR4 f => R4 (Point f)Defined in linear-1.22 · Linear.AffineAdditive f => Additive (Point f)Defined in linear-1.22 · Linear.AffineAdditive f => Affine (Point f)Defined in linear-1.22 · Linear.AffineFinite f => Finite (Point f)Defined in linear-1.22 · Linear.AffineEq (f a) => Eq (Point f a)Defined in linear-1.22 · Linear.AffineFractional (f a) => Fractional (Point f a)Defined in linear-1.22 · Linear.Affine(Typeable f, Typeable a, Data (f a)) => Data (Point f a)Defined in linear-1.22 · Linear.AffineNum (f a) => Num (Point f a)Defined in linear-1.22 · Linear.AffineOrd (f a) => Ord (Point f a)Defined in linear-1.22 · Linear.AffineRead (f a) => Read (Point f a)Defined in linear-1.22 · Linear.AffineShow (f a) => Show (Point f a)Defined in linear-1.22 · Linear.AffineIx (f a) => Ix (Point f a)Defined in linear-1.22 · Linear.AffineGeneric (Point f a)Defined in linear-1.22 · Linear.AffineSemigroup (f a) => Semigroup (Point f a)Defined in linear-1.22 · Linear.AffineMonoid (f a) => Monoid (Point f a)Defined in linear-1.22 · Linear.AffineStorable (f a) => Storable (Point f a)Defined in linear-1.22 · Linear.AffineNFData (f a) => NFData (Point f a)Defined in linear-1.22 · Linear.AffineRandom (f a) => Random (Point f a)Defined in linear-1.22 · Linear.AffineBinary (f a) => Binary (Point f a)Defined in linear-1.22 · Linear.AffineHashable (f a) => Hashable (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => Unbox (Point f a)Defined in linear-1.22 · Linear.AffineSerialize (f a) => Serialize (Point f a)Defined in linear-1.22 · Linear.AffineIxed (f a) => Ixed (Point f a)Defined in linear-1.22 · Linear.AffineWrapped (Point f a)Defined in linear-1.22 · Linear.AffineSerial (f a) => Serial (Point f a)Defined in linear-1.22 · Linear.AffineEpsilon (f a) => Epsilon (Point f a)Defined in linear-1.22 · Linear.Affinet ~ Point g b => Rewrapped (Point f a) tDefined in linear-1.22 · Linear.AffineTraversable f => Each (Point f a) (Point f b) a bDefined in linear-1.22 · Linear.Affinetype Rep (Point f a) = D1 ('MetaDataDefined in linear-1.22 · Linear.Affine"Point"
"Linear.Affine"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"P"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))type Rep1 (Point f) = D1 ('MetaDataDefined in linear-1.22 · Linear.Affine"Point"
"Linear.Affine"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"P"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))data MVector s (Point f a)Defined in linear-1.22 · Linear.Affinedata Vector (Point f a)Defined in linear-1.22 · Linear.Affinetype Rep (Point f) = Rep fDefined in linear-1.22 · Linear.Affinetype Unwrapped (Point f a) = f aDefined in linear-1.22 · Linear.Affinetype Index (Point f a) = Index (f a)Defined in linear-1.22 · Linear.Affinetype IxValue (Point f a) = IxValue (f a)Defined in linear-1.22 · Linear.Affinetype Diff (Point f) = fDefined in linear-1.22 · Linear.Affinetype Size (Point f) = Size fDefined in linear-1.22 · Linear.Affine
A 2-dimensional vector
pure 1 :: V2 IntV2 1 1
V2 1 2 + V2 3 4V2 4 6
V2 1 2 * V2 3 4V2 3 8
sum (V2 1 2)3
Constructors
V2 !a !a
Instances69Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V2Defined in linear-1.22 · Linear.V2Functor V2Defined in linear-1.22 · Linear.V2MonadFix V2Defined in linear-1.22 · Linear.V2Applicative V2Defined in linear-1.22 · Linear.V2Foldable V2Defined in linear-1.22 · Linear.V2Traversable V2Defined in linear-1.22 · Linear.V2MonadZip V2Defined in linear-1.22 · Linear.V2Foldable1 V2Defined in linear-1.22 · Linear.V2Eq1 V2Defined in linear-1.22 · Linear.V2Ord1 V2Defined in linear-1.22 · Linear.V2Read1 V2Defined in linear-1.22 · Linear.V2Show1 V2Defined in linear-1.22 · Linear.V2Hashable1 V2Defined in linear-1.22 · Linear.V2Distributive V2Defined in linear-1.22 · Linear.V2Apply V2Defined in linear-1.22 · Linear.V2Bind V2Defined in linear-1.22 · Linear.V2Traversable1 V2Defined in linear-1.22 · Linear.V2Representable V2Defined in linear-1.22 · Linear.V2Serial1 V2Defined in linear-1.22 · Linear.V2Metric V2Defined in linear-1.22 · Linear.V2Trace V2Defined in linear-1.22 · Linear.TraceR1 V2Defined in linear-1.22 · Linear.V2R2 V2Defined in linear-1.22 · Linear.V2Additive V2Defined in linear-1.22 · Linear.V2Affine V2Defined in linear-1.22 · Linear.AffineFinite V2Defined in linear-1.22 · Linear.V2Generic1 V2Defined in linear-1.22 · Linear.V2Lift a => Lift (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => Vector Vector (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => MVector MVector (V2 a)Defined in linear-1.22 · Linear.V2Num r => Coalgebra r (E V2)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V2 a)Defined in linear-1.22 · Linear.V2Eq a => Eq (V2 a)Defined in linear-1.22 · Linear.V2Floating a => Floating (V2 a)Defined in linear-1.22 · Linear.V2Fractional a => Fractional (V2 a)Defined in linear-1.22 · Linear.V2Data a => Data (V2 a)Defined in linear-1.22 · Linear.V2Num a => Num (V2 a)Defined in linear-1.22 · Linear.V2Ord a => Ord (V2 a)Defined in linear-1.22 · Linear.V2Read a => Read (V2 a)Defined in linear-1.22 · Linear.V2Show a => Show (V2 a)Defined in linear-1.22 · Linear.V2Ix a => Ix (V2 a)Defined in linear-1.22 · Linear.V2Generic (V2 a)Defined in linear-1.22 · Linear.V2Semigroup a => Semigroup (V2 a)Defined in linear-1.22 · Linear.V2Monoid a => Monoid (V2 a)Defined in linear-1.22 · Linear.V2Storable a => Storable (V2 a)Defined in linear-1.22 · Linear.V2NFData a => NFData (V2 a)Defined in linear-1.22 · Linear.V2Random a => Random (V2 a)Defined in linear-1.22 · Linear.V2Binary a => Binary (V2 a)Defined in linear-1.22 · Linear.V2Hashable a => Hashable (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => Unbox (V2 a)Defined in linear-1.22 · Linear.V2Serialize a => Serialize (V2 a)Defined in linear-1.22 · Linear.V2Ixed (V2 a)Defined in linear-1.22 · Linear.V2Serial a => Serial (V2 a)Defined in linear-1.22 · Linear.V2Epsilon a => Epsilon (V2 a)Defined in linear-1.22 · Linear.V2FoldableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2FunctorWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2TraversableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2Each (V2 a) (V2 b) a bDefined in linear-1.22 · Linear.V2Field1 (V2 a) (V2 a) a aDefined in linear-1.22 · Linear.V2Field2 (V2 a) (V2 a) a aDefined in linear-1.22 · Linear.V2type Rep (V2 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V2"V2"
"Linear.V2"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V2"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))type Rep1 V2 = D1 ('MetaDataDefined in linear-1.22 · Linear.V2"V2"
"Linear.V2"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V2"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))data MVector s (V2 a)Defined in linear-1.22 · Linear.V2data Vector (V2 a)Defined in linear-1.22 · Linear.V2type Rep V2 = E V2Defined in linear-1.22 · Linear.V2type Index (V2 a) = E V2Defined in linear-1.22 · Linear.V2type IxValue (V2 a) = aDefined in linear-1.22 · Linear.V2type Diff V2 = V2Defined in linear-1.22 · Linear.Affinetype Size V2 =Defined in linear-1.22 · Linear.V22
A 3-dimensional vector
Constructors
V3 !a !a !a
Instances71Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V3Defined in linear-1.22 · Linear.V3Functor V3Defined in linear-1.22 · Linear.V3MonadFix V3Defined in linear-1.22 · Linear.V3Applicative V3Defined in linear-1.22 · Linear.V3Foldable V3Defined in linear-1.22 · Linear.V3Traversable V3Defined in linear-1.22 · Linear.V3MonadZip V3Defined in linear-1.22 · Linear.V3Foldable1 V3Defined in linear-1.22 · Linear.V3Eq1 V3Defined in linear-1.22 · Linear.V3Ord1 V3Defined in linear-1.22 · Linear.V3Read1 V3Defined in linear-1.22 · Linear.V3Show1 V3Defined in linear-1.22 · Linear.V3Hashable1 V3Defined in linear-1.22 · Linear.V3Distributive V3Defined in linear-1.22 · Linear.V3Apply V3Defined in linear-1.22 · Linear.V3Bind V3Defined in linear-1.22 · Linear.V3Traversable1 V3Defined in linear-1.22 · Linear.V3Representable V3Defined in linear-1.22 · Linear.V3Serial1 V3Defined in linear-1.22 · Linear.V3Metric V3Defined in linear-1.22 · Linear.V3Trace V3Defined in linear-1.22 · Linear.TraceR1 V3Defined in linear-1.22 · Linear.V3R2 V3Defined in linear-1.22 · Linear.V3R3 V3Defined in linear-1.22 · Linear.V3Additive V3Defined in linear-1.22 · Linear.V3Affine V3Defined in linear-1.22 · Linear.AffineFinite V3Defined in linear-1.22 · Linear.V3Generic1 V3Defined in linear-1.22 · Linear.V3Lift a => Lift (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => Vector Vector (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => MVector MVector (V3 a)Defined in linear-1.22 · Linear.V3Num r => Coalgebra r (E V3)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V3 a)Defined in linear-1.22 · Linear.V3Eq a => Eq (V3 a)Defined in linear-1.22 · Linear.V3Floating a => Floating (V3 a)Defined in linear-1.22 · Linear.V3Fractional a => Fractional (V3 a)Defined in linear-1.22 · Linear.V3Data a => Data (V3 a)Defined in linear-1.22 · Linear.V3Num a => Num (V3 a)Defined in linear-1.22 · Linear.V3Ord a => Ord (V3 a)Defined in linear-1.22 · Linear.V3Read a => Read (V3 a)Defined in linear-1.22 · Linear.V3Show a => Show (V3 a)Defined in linear-1.22 · Linear.V3Ix a => Ix (V3 a)Defined in linear-1.22 · Linear.V3Generic (V3 a)Defined in linear-1.22 · Linear.V3Semigroup a => Semigroup (V3 a)Defined in linear-1.22 · Linear.V3Monoid a => Monoid (V3 a)Defined in linear-1.22 · Linear.V3Storable a => Storable (V3 a)Defined in linear-1.22 · Linear.V3NFData a => NFData (V3 a)Defined in linear-1.22 · Linear.V3Random a => Random (V3 a)Defined in linear-1.22 · Linear.V3Binary a => Binary (V3 a)Defined in linear-1.22 · Linear.V3Hashable a => Hashable (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => Unbox (V3 a)Defined in linear-1.22 · Linear.V3Serialize a => Serialize (V3 a)Defined in linear-1.22 · Linear.V3Ixed (V3 a)Defined in linear-1.22 · Linear.V3Serial a => Serial (V3 a)Defined in linear-1.22 · Linear.V3Epsilon a => Epsilon (V3 a)Defined in linear-1.22 · Linear.V3FoldableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3FunctorWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3TraversableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3Each (V3 a) (V3 b) a bDefined in linear-1.22 · Linear.V3Field1 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3Field2 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3Field3 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3type Rep (V3 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V3"V3"
"Linear.V3"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V3"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))type Rep1 V3 = D1 ('MetaDataDefined in linear-1.22 · Linear.V3"V3"
"Linear.V3"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V3"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))data MVector s (V3 a)Defined in linear-1.22 · Linear.V3data Vector (V3 a)Defined in linear-1.22 · Linear.V3type Rep V3 = E V3Defined in linear-1.22 · Linear.V3type Index (V3 a) = E V3Defined in linear-1.22 · Linear.V3type IxValue (V3 a) = aDefined in linear-1.22 · Linear.V3type Diff V3 = V3Defined in linear-1.22 · Linear.Affinetype Size V3 =Defined in linear-1.22 · Linear.V33
A 4-dimensional vector.
Constructors
V4 !a !a !a !a
Instances73Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V4Defined in linear-1.22 · Linear.V4Functor V4Defined in linear-1.22 · Linear.V4MonadFix V4Defined in linear-1.22 · Linear.V4Applicative V4Defined in linear-1.22 · Linear.V4Foldable V4Defined in linear-1.22 · Linear.V4Traversable V4Defined in linear-1.22 · Linear.V4MonadZip V4Defined in linear-1.22 · Linear.V4Foldable1 V4Defined in linear-1.22 · Linear.V4Eq1 V4Defined in linear-1.22 · Linear.V4Ord1 V4Defined in linear-1.22 · Linear.V4Read1 V4Defined in linear-1.22 · Linear.V4Show1 V4Defined in linear-1.22 · Linear.V4Hashable1 V4Defined in linear-1.22 · Linear.V4Distributive V4Defined in linear-1.22 · Linear.V4Apply V4Defined in linear-1.22 · Linear.V4Bind V4Defined in linear-1.22 · Linear.V4Traversable1 V4Defined in linear-1.22 · Linear.V4Representable V4Defined in linear-1.22 · Linear.V4Serial1 V4Defined in linear-1.22 · Linear.V4Metric V4Defined in linear-1.22 · Linear.V4Trace V4Defined in linear-1.22 · Linear.TraceR1 V4Defined in linear-1.22 · Linear.V4R2 V4Defined in linear-1.22 · Linear.V4R3 V4Defined in linear-1.22 · Linear.V4R4 V4Defined in linear-1.22 · Linear.V4Additive V4Defined in linear-1.22 · Linear.V4Affine V4Defined in linear-1.22 · Linear.AffineFinite V4Defined in linear-1.22 · Linear.V4Generic1 V4Defined in linear-1.22 · Linear.V4Lift a => Lift (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => Vector Vector (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => MVector MVector (V4 a)Defined in linear-1.22 · Linear.V4Num r => Coalgebra r (E V4)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V4 a)Defined in linear-1.22 · Linear.V4Eq a => Eq (V4 a)Defined in linear-1.22 · Linear.V4Floating a => Floating (V4 a)Defined in linear-1.22 · Linear.V4Fractional a => Fractional (V4 a)Defined in linear-1.22 · Linear.V4Data a => Data (V4 a)Defined in linear-1.22 · Linear.V4Num a => Num (V4 a)Defined in linear-1.22 · Linear.V4Ord a => Ord (V4 a)Defined in linear-1.22 · Linear.V4Read a => Read (V4 a)Defined in linear-1.22 · Linear.V4Show a => Show (V4 a)Defined in linear-1.22 · Linear.V4Ix a => Ix (V4 a)Defined in linear-1.22 · Linear.V4Generic (V4 a)Defined in linear-1.22 · Linear.V4Semigroup a => Semigroup (V4 a)Defined in linear-1.22 · Linear.V4Monoid a => Monoid (V4 a)Defined in linear-1.22 · Linear.V4Storable a => Storable (V4 a)Defined in linear-1.22 · Linear.V4NFData a => NFData (V4 a)Defined in linear-1.22 · Linear.V4Random a => Random (V4 a)Defined in linear-1.22 · Linear.V4Binary a => Binary (V4 a)Defined in linear-1.22 · Linear.V4Hashable a => Hashable (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => Unbox (V4 a)Defined in linear-1.22 · Linear.V4Serialize a => Serialize (V4 a)Defined in linear-1.22 · Linear.V4Ixed (V4 a)Defined in linear-1.22 · Linear.V4Serial a => Serial (V4 a)Defined in linear-1.22 · Linear.V4Epsilon a => Epsilon (V4 a)Defined in linear-1.22 · Linear.V4FoldableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4FunctorWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4TraversableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4Each (V4 a) (V4 b) a bDefined in linear-1.22 · Linear.V4Field1 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field2 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field3 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field4 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4type Rep (V4 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V4"V4"
"Linear.V4"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V4"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))type Rep1 V4 = D1 ('MetaDataDefined in linear-1.22 · Linear.V4"V4"
"Linear.V4"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V4"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))data MVector s (V4 a)Defined in linear-1.22 · Linear.V4data Vector (V4 a)Defined in linear-1.22 · Linear.V4type Rep V4 = E V4Defined in linear-1.22 · Linear.V4type Index (V4 a) = E V4Defined in linear-1.22 · Linear.V4type IxValue (V4 a) = aDefined in linear-1.22 · Linear.V4type Diff V4 = V4Defined in linear-1.22 · Linear.Affinetype Size V4 =Defined in linear-1.22 · Linear.V44
An affine space is roughly a vector space in which we have forgotten or at least pretend to have forgotten the origin.
a .+^ (b .-. a) = b@
(a .+^ u) .+^ v = a .+^ (u ^+^ v)@
(a .-. b) ^+^ v = (a .+^ v) .-. q@Instances20Affine, …
Affine ComplexDefined in linear-1.22 · Linear.AffineAffine IntMapDefined in linear-1.22 · Linear.AffineAffine IdentityDefined in linear-1.22 · Linear.AffineAffine ZipListDefined in linear-1.22 · Linear.AffineAffine MaybeDefined in linear-1.22 · Linear.AffineAffine PluckerDefined in linear-1.22 · Linear.AffineAffine QuaternionDefined in linear-1.22 · Linear.AffineAffine V0Defined in linear-1.22 · Linear.AffineAffine V1Defined in linear-1.22 · Linear.AffineAffine V2Defined in linear-1.22 · Linear.AffineAffine V3Defined in linear-1.22 · Linear.AffineAffine V4Defined in linear-1.22 · Linear.AffineAffine VectorDefined in linear-1.22 · Linear.AffineAffine []Defined in linear-1.22 · Linear.AffineOrd k => Affine (Map k)Defined in linear-1.22 · Linear.AffineAdditive f => Affine (Point f)Defined in linear-1.22 · Linear.Affine(Eq k, Hashable k) => Affine (HashMap k)Defined in linear-1.22 · Linear.AffineDim n => Affine (V n)Defined in linear-1.22 · Linear.AffineAffine ((->) b)Defined in linear-1.22 · Linear.Affine(Affine f, Affine g) => Affine (Product f g)Defined in linear-1.22 · Linear.Affine
Instances112NFData1, NFData, MVector, …
MVector MVector AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Word16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Word32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Word64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector Word8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector CharDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector IntDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector WordDefined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector ()Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseNFData a => MVector MVector (DoNotUnboxNormalForm a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BasePrim a => MVector MVector (UnboxViaPrim a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector (V0 a)Defined in linear-1.22 · Linear.V0MVector MVector (DoNotUnboxLazy a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseMVector MVector (DoNotUnboxStrict a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Complex a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (First a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Last a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Max a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Min a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (WrappedMonoid a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Identity a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Down a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Dual a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Product a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Sum a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Plucker a)Defined in linear-1.22 · Linear.PluckerUnbox a => MVector MVector (Quaternion a)Defined in linear-1.22 · Linear.QuaternionUnbox a => MVector MVector (V1 a)Defined in linear-1.22 · Linear.V1Unbox a => MVector MVector (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => MVector MVector (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => MVector MVector (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => MVector MVector (V2 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox a => MVector MVector (V3 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox a => MVector MVector (V4 a)Defined in sdl2-2.5.5.0 · SDL.Internal.VectUnbox (f a) => MVector MVector (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => MVector MVector (Point f a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vect(IsoUnbox a b, Unbox b) => MVector MVector (As a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b) => MVector MVector (Arg a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b) => MVector MVector (a, b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox (f a) => MVector MVector (Alt f a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox a => MVector MVector (Const a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Dim n, Unbox a) => MVector MVector (V n a)Defined in linear-1.22 · Linear.V(Unbox a, Unbox b, Unbox c) => MVector MVector (a, b, c)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d) => MVector MVector (a, b, c, d)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseUnbox (f (g a)) => MVector MVector (Compose f g a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e) => MVector MVector (a, b, c, d, e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base(Unbox a, Unbox b, Unbox c, Unbox d, Unbox e, Unbox f) => MVector MVector (a, b, c, d, e, f)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseNFData1 (MVector s)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.BaseNFData (MVector s a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s AllDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s AnyDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Int16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Int32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Int64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Int8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Word16Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Word32Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Word64Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s Word8Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s BoolDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s CharDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s DoubleDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s FloatDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s IntDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s WordDefined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Complex a)MV_Complex (MVector s (a, a))
data MVector s (Compose f g a)MV_Compose (MVector s (f (g a)))
data MVector s (Arg a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (First a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Last a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Max a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Min a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (WrappedMonoid a)MV_WrappedMonoid (MVector s a)
data MVector s (Const a b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Identity a)MV_Identity (MVector s a)
data MVector s (Down a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Alt f a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Dual a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Product a)MV_Product (MVector s a)
data MVector s (Sum a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (Point f a)Defined in linear-1.22 · Linear.Affinedata MVector s (Plucker a)Defined in linear-1.22 · Linear.Pluckerdata MVector s (Quaternion a)Defined in linear-1.22 · Linear.Quaterniondata MVector s (V n a)Defined in linear-1.22 · Linear.Vdata MVector s (V0 a)MV_V0 Int
data MVector s (V1 a)MV_V1 (MVector s a)
data MVector s (V2 a)Defined in linear-1.22 · Linear.V2data MVector s (V3 a)Defined in linear-1.22 · Linear.V3data MVector s (V4 a)Defined in linear-1.22 · Linear.V4data MVector s (Point f a)MV_P !(MVector s (f a))
data MVector s (V2 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata MVector s (V3 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata MVector s (V4 a)Defined in sdl2-2.5.5.0 · SDL.Internal.Vectdata MVector s (As a b)MV_UnboxAs (MVector s b)
data MVector s (DoNotUnboxLazy a)MV_DoNotUnboxLazy (MVector s a)
data MVector s (DoNotUnboxNormalForm a)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (DoNotUnboxStrict a)MV_DoNotUnboxStrict (MVector s a)
data MVector s (UnboxViaPrim a)MV_UnboxViaPrim (MVector s a)
data MVector s ()Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (a, b)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (a, b, c)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (a, b, c, d)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (a, b, c, d, e)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Basedata MVector s (a, b, c, d, e, f)Defined in vector-0.13.2.0 · Data.Vector.Unboxed.Base
Apply a rotation to a vector.
An associative unital algebra over a ring
Instances7Algebra, …
Num r => Algebra r VoidDefined in linear-1.22 · Linear.AlgebraNum r => Algebra r ()Defined in linear-1.22 · Linear.AlgebraNum r => Algebra r (E Complex)Defined in linear-1.22 · Linear.AlgebraNum r => Algebra r (E V0)Defined in linear-1.22 · Linear.AlgebraNum r => Algebra r (E V1)Defined in linear-1.22 · Linear.Algebra(Num r, TrivialConjugate r) => Algebra r (E Quaternion)Defined in linear-1.22 · Linear.Algebra(Algebra r a, Algebra r b) => Algebra r (a, b)Defined in linear-1.22 · Linear.Algebra
A coassociative counital coalgebra over a ring
Instances10Coalgebra, …
Num r => Coalgebra r VoidDefined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r ()Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E Complex)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V0)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V1)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V2)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V3)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V4)Defined in linear-1.22 · Linear.Algebra(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion)Defined in linear-1.22 · Linear.Algebra(Coalgebra r m, Coalgebra r n) => Coalgebra r (m, n)Defined in linear-1.22 · Linear.Algebra
Deserialize a linear type.
Serialize a linear type.
An involutive ring
Methods
conjugate :: a -> aConjugate a value. This defaults to the trivial involution.
Example1 expression conjugate (1 :+ 2)1.0 :+ (-2.0)
Example1 expression conjugate 11
Instances17Conjugate, …
Conjugate IntegerDefined in linear-1.22 · Linear.ConjugateConjugate CDoubleDefined in linear-1.22 · Linear.ConjugateConjugate CFloatDefined in linear-1.22 · Linear.ConjugateConjugate Int16Defined in linear-1.22 · Linear.ConjugateConjugate Int32Defined in linear-1.22 · Linear.ConjugateConjugate Int64Defined in linear-1.22 · Linear.ConjugateConjugate Int8Defined in linear-1.22 · Linear.ConjugateConjugate Word16Defined in linear-1.22 · Linear.ConjugateConjugate Word32Defined in linear-1.22 · Linear.ConjugateConjugate Word64Defined in linear-1.22 · Linear.ConjugateConjugate Word8Defined in linear-1.22 · Linear.ConjugateConjugate DoubleDefined in linear-1.22 · Linear.ConjugateConjugate FloatDefined in linear-1.22 · Linear.ConjugateConjugate IntDefined in linear-1.22 · Linear.ConjugateConjugate WordDefined in linear-1.22 · Linear.Conjugate(Conjugate a, RealFloat a) => Conjugate (Complex a)Defined in linear-1.22 · Linear.Conjugate(Conjugate a, RealFloat a) => Conjugate (Quaternion a)Defined in linear-1.22 · Linear.Quaternion
Instances15TrivialConjugate, …
TrivialConjugate IntegerDefined in linear-1.22 · Linear.ConjugateTrivialConjugate CDoubleDefined in linear-1.22 · Linear.ConjugateTrivialConjugate CFloatDefined in linear-1.22 · Linear.ConjugateTrivialConjugate Int16Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Int32Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Int64Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Int8Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Word16Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Word32Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Word64Defined in linear-1.22 · Linear.ConjugateTrivialConjugate Word8Defined in linear-1.22 · Linear.ConjugateTrivialConjugate DoubleDefined in linear-1.22 · Linear.ConjugateTrivialConjugate FloatDefined in linear-1.22 · Linear.ConjugateTrivialConjugate IntDefined in linear-1.22 · Linear.ConjugateTrivialConjugate WordDefined in linear-1.22 · Linear.Conjugate
Linear functionals from elements of an (infinite) free module to a scalar
Constructors
CovectorrunCovector :: (a -> r) -> r
Instances10Monad, Functor, Applicative, Alternative, MonadPlus, Alt, …
Monad (Covector r)Defined in linear-1.22 · Linear.CovectorFunctor (Covector r)Defined in linear-1.22 · Linear.CovectorApplicative (Covector r)Defined in linear-1.22 · Linear.CovectorNum r => Alternative (Covector r)Defined in linear-1.22 · Linear.CovectorNum r => MonadPlus (Covector r)Defined in linear-1.22 · Linear.CovectorNum r => Alt (Covector r)Defined in linear-1.22 · Linear.CovectorApply (Covector r)Defined in linear-1.22 · Linear.CovectorBind (Covector r)Defined in linear-1.22 · Linear.CovectorNum r => Plus (Covector r)Defined in linear-1.22 · Linear.CovectorCoalgebra r m => Num (Covector r m)Defined in linear-1.22 · Linear.Covector
Provides a fairly subjective test to see if a quantity is near zero.
nearZero (1e-11 :: Double)False
nearZero (1e-17 :: Double)True
nearZero (1e-5 :: Float)False
nearZero (1e-7 :: Float)True
Instances14Epsilon, …
Epsilon CDoubleDefined in linear-1.22 · Linear.EpsilonEpsilon CFloatDefined in linear-1.22 · Linear.EpsilonEpsilon DoubleDefined in linear-1.22 · Linear.EpsilonEpsilon FloatDefined in linear-1.22 · Linear.EpsilonEpsilon (V0 a)Defined in linear-1.22 · Linear.V0Epsilon a => Epsilon (Plucker a)Defined in linear-1.22 · Linear.PluckerEpsilon a => Epsilon (V1 a)Defined in linear-1.22 · Linear.V1Epsilon a => Epsilon (V2 a)Defined in linear-1.22 · Linear.V2Epsilon a => Epsilon (V3 a)Defined in linear-1.22 · Linear.V3Epsilon a => Epsilon (V4 a)Defined in linear-1.22 · Linear.V4(RealFloat a, Epsilon a) => Epsilon (Quaternion a)Defined in linear-1.22 · Linear.Quaternion(Epsilon a, RealFloat a) => Epsilon (Complex a)Defined in linear-1.22 · Linear.EpsilonEpsilon (f a) => Epsilon (Point f a)Defined in linear-1.22 · Linear.Affine(Dim n, Epsilon a) => Epsilon (V n a)Defined in linear-1.22 · Linear.V
Matrix-scalar product
V2 (V2 1 2) (V2 3 4) !!* 5V2 (V2 5 10) (V2 15 20)
Matrix-scalar division
Matrix * column vector
V2 (V3 1 2 3) (V3 4 5 6) !* V3 7 8 9V2 50 122
Matrix product. This can compute any combination of sparse and dense multiplication.
V2 (V3 1 2 3) (V3 4 5 6) !*! V3 (V2 1 2) (V2 3 4) (V2 4 5)V2 (V2 19 25) (V2 43 58)
V2 (IntMap.fromList [(1,2)]) (IntMap.fromList [(2,3)]) !*! IntMap.fromList [(1,V3 0 0 1), (2, V3 0 0 5)]V2 (V3 0 0 2) (V3 0 0 15)
Entry-wise matrix addition.
V2 (V3 1 2 3) (V3 4 5 6) !+! V2 (V3 7 8 9) (V3 1 2 3)V2 (V3 8 10 12) (V3 5 7 9)
Entry-wise matrix subtraction.
V2 (V3 1 2 3) (V3 4 5 6) !-! V2 (V3 7 8 9) (V3 1 2 3)V2 (V3 (-6) (-6) (-6)) (V3 3 3 3)
Row vector * matrix
V2 1 2 *! V2 (V3 3 4 5) (V3 6 7 8)V3 15 18 21
Scalar-matrix product
5 *!! V2 (V2 1 2) (V2 3 4)V2 (V2 5 10) (V2 15 20)
A 2x2 matrix with row-major representation
A 2x3 matrix with row-major representation
A 2x4 matrix with row-major representation
A 3x2 matrix with row-major representation
A 3x3 matrix with row-major representation
A 3x4 matrix with row-major representation
A 4x2 matrix with row-major representation
A 4x3 matrix with row-major representation
A 4x4 matrix with row-major representation
Extract a 2x2 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 2x3 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 2x4 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 3x2 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 3x3 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 3x4 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 4x2 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 4x3 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Extract a 4x4 matrix from a matrix of higher dimensions by dropping excess rows and columns.
Hermitian conjugate or conjugate transpose
adjoint (V2 (V2 (1 :+ 2) (3 :+ 4)) (V2 (5 :+ 6) (7 :+ 8)))V2 (V2 (1.0 :+ (-2.0)) (5.0 :+ (-6.0))) (V2 (3.0 :+ (-4.0)) (7.0 :+ (-8.0)))
Solve a linear system with an upper-triangular matrix of coefficients with backwards substitution.
Solve a linear system with an upper-triangular matrix of coefficients with backwards substitution, using the vector's Finite instance to provide an index.
This is a generalization of inside to work over any corepresentable Functor.
column :: Representable f => Lens s t a b -> Lens (f s) (f t) (f a) (f b)
In practice it is used to access a column of a matrix.
V2 (V3 1 2 3) (V3 4 5 6) ^._xV3 1 2 3
V2 (V3 1 2 3) (V3 4 5 6) ^.column _xV2 1 4
2x2 matrix determinant.
det22 (V2 (V2 a b) (V2 c d))a * d - b * c
3x3 matrix determinant.
det33 (V3 (V3 a b c) (V3 d e f) (V3 g h i))a * (e * i - f * h) - d * (b * i - c * h) + g * (b * f - c * e)
4x4 matrix determinant.
Solve a linear system with a lower-triangular matrix of coefficients with forwards substitution.
Solve a linear system with a lower-triangular matrix of coefficients with forwards substitution, using the vector's Finite instance to provide an index.
Build a rotation matrix from a unit Quaternion.
The identity matrix for any dimension vector.
identity :: M44 IntV4 (V4 1 0 0 0) (V4 0 1 0 0) (V4 0 0 1 0) (V4 0 0 0 1)identity :: V3 (V3 Int)V3 (V3 1 0 0) (V3 0 1 0) (V3 0 0 1)
2x2 matrix inverse.
inv22 $ V2 (V2 1 2) (V2 3 4)V2 (V2 (-2.0) 1.0) (V2 1.5 (-0.5))
3x3 matrix inverse.
inv33 $ V3 (V3 1 2 4) (V3 4 2 2) (V3 1 1 1)V3 (V3 0.0 0.5 (-1.0)) (V3 (-0.5) (-0.75) 3.5) (V3 0.5 0.25 (-1.5))
4x4 matrix inverse.
Compute the determinant of a matrix using LU decomposition.
Compute the determinant of a matrix using LU decomposition, using the vector's Finite instance to provide an index.
Compute the (L, U) decomposition of a square matrix using Crout's algorithm, using the vector's Finite instance to provide an index.
Invert a matrix with LU decomposition.
Invert a matrix with LU decomposition, using the vector's Finite instance to provide an index.
Solve a linear system with LU decomposition.
Solve a linear system with LU decomposition, using the vector's Finite instance to provide an index.
Convert a 3x3 matrix to a 4x4 matrix extending it with 0's in the new row and column.
Convert from a 4x3 matrix to a 4x4 matrix, extending it with the [ 0 0 0 1 ] column vector
Build a transformation matrix from a rotation expressed as a Quaternion and a translation vector.
Build a transformation matrix from a rotation matrix and a translation vector.
Extract the translation vector (first three entries of the last column) from a 3x4 or 4x4 matrix.
transpose is just an alias for distribute
transpose (V3 (V2 1 2) (V2 3 4) (V2 5 6))V2 (V3 1 3 5) (V3 2 4 6)
Free and sparse inner product/metric spaces.
Methods
dot :: Num a => f a -> f a -> aCompute the inner product of two vectors or (equivalently) convert a vector
f ainto a covectorf a -> a.Example1 expression V2 1 2 `dot` V2 3 411
quadrance :: Num a => f a -> aCompute the squared norm. The name quadrance arises from Norman J. Wildberger's rational trigonometry.
qd :: Num a => f a -> f a -> aCompute the quadrance of the difference
distance :: Floating a => f a -> f a -> aCompute the distance between two vectors in a metric space
norm :: Floating a => f a -> aCompute the norm of a vector in a metric space
signorm :: Floating a => f a -> f aConvert a non-zero vector to unit vector.
Instances19Metric, …
Metric IntMapDefined in linear-1.22 · Linear.MetricMetric IdentityDefined in linear-1.22 · Linear.MetricMetric ZipListDefined in linear-1.22 · Linear.MetricMetric MaybeDefined in linear-1.22 · Linear.MetricMetric PluckerDefined in linear-1.22 · Linear.PluckerMetric QuaternionDefined in linear-1.22 · Linear.QuaternionMetric V0Defined in linear-1.22 · Linear.V0Metric V1Defined in linear-1.22 · Linear.V1Metric V2Defined in linear-1.22 · Linear.V2Metric V3Defined in linear-1.22 · Linear.V3Metric V4Defined in linear-1.22 · Linear.V4Metric VectorDefined in linear-1.22 · Linear.MetricMetric []Defined in linear-1.22 · Linear.MetricOrd k => Metric (Map k)Defined in linear-1.22 · Linear.MetricMetric f => Metric (Point f)Defined in linear-1.22 · Linear.Affine(Hashable k, Eq k) => Metric (HashMap k)Defined in linear-1.22 · Linear.MetricDim n => Metric (V n)Defined in linear-1.22 · Linear.V(Metric f, Metric g) => Metric (Product f g)Defined in linear-1.22 · Linear.Metric(Metric f, Metric g) => Metric (Compose f g)Defined in linear-1.22 · Linear.Metric
project u v computes the projection of v onto u.
Build a perspective matrix per the classic glFrustum arguments.
infinitePerspective Build a matrix for a symmetric perspective-view frustum with a far plane at infinite
Build an inverse orthographic perspective matrix from 6 clipping planes
inversePerspective Build an inverse perspective matrix
Build a look at view matrix
Build an orthographic perspective matrix from 6 clipping planes. This matrix takes the region delimited by these planes and maps it to normalized device coordinates between [-1,1]
This call is designed to mimic the parameters to the OpenGL glOrtho
call, so it has a slightly strange convention: Notably: the near and
far planes are negated.
Consequently:
ortho l r b t n f !* V4 l b (-n) 1 = V4 (-1) (-1) (-1) 1
ortho l r b t n f !* V4 r t (-f) 1 = V4 1 1 1 1
Examples:
ortho 1 2 3 4 5 6 !* V4 1 3 (-5) 1V4 (-1.0) (-1.0) (-1.0) 1.0
ortho 1 2 3 4 5 6 !* V4 2 4 (-6) 1V4 1.0 1.0 1.0 1.0
perspective Build a matrix for a symmetric perspective-view frustum
Instances2Complicated
Complicated ComplexDefined in linear-1.22 · Linear.QuaternionComplicated QuaternionDefined in linear-1.22 · Linear.Quaternion
Instances1Hamiltonian
Hamiltonian QuaternionDefined in linear-1.22 · Linear.Quaternion
Quaternions
Constructors
Quaternion !a !(V3 a)
Instances74Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad QuaternionDefined in linear-1.22 · Linear.QuaternionFunctor QuaternionDefined in linear-1.22 · Linear.QuaternionMonadFix QuaternionDefined in linear-1.22 · Linear.QuaternionApplicative QuaternionDefined in linear-1.22 · Linear.QuaternionFoldable QuaternionDefined in linear-1.22 · Linear.QuaternionTraversable QuaternionDefined in linear-1.22 · Linear.QuaternionMonadZip QuaternionDefined in linear-1.22 · Linear.QuaternionEq1 QuaternionDefined in linear-1.22 · Linear.QuaternionOrd1 QuaternionDefined in linear-1.22 · Linear.QuaternionRead1 QuaternionDefined in linear-1.22 · Linear.QuaternionShow1 QuaternionDefined in linear-1.22 · Linear.QuaternionHashable1 QuaternionDefined in linear-1.22 · Linear.QuaternionDistributive QuaternionDefined in linear-1.22 · Linear.QuaternionApply QuaternionDefined in linear-1.22 · Linear.QuaternionBind QuaternionDefined in linear-1.22 · Linear.QuaternionRepresentable QuaternionDefined in linear-1.22 · Linear.QuaternionSerial1 QuaternionDefined in linear-1.22 · Linear.QuaternionMetric QuaternionDefined in linear-1.22 · Linear.QuaternionComplicated QuaternionDefined in linear-1.22 · Linear.QuaternionHamiltonian QuaternionDefined in linear-1.22 · Linear.QuaternionTrace QuaternionDefined in linear-1.22 · Linear.TraceR1 QuaternionDefined in linear-1.22 · Linear.QuaternionR2 QuaternionDefined in linear-1.22 · Linear.QuaternionR3 QuaternionDefined in linear-1.22 · Linear.QuaternionR4 QuaternionDefined in linear-1.22 · Linear.QuaternionAdditive QuaternionDefined in linear-1.22 · Linear.QuaternionAffine QuaternionDefined in linear-1.22 · Linear.AffineFinite QuaternionDefined in linear-1.22 · Linear.QuaternionGeneric1 QuaternionDefined in linear-1.22 · Linear.QuaternionLift a => Lift (Quaternion a)Defined in linear-1.22 · Linear.QuaternionUnbox a => Vector Vector (Quaternion a)Defined in linear-1.22 · Linear.QuaternionUnbox a => MVector MVector (Quaternion a)Defined in linear-1.22 · Linear.Quaternion(Num r, TrivialConjugate r) => Algebra r (E Quaternion)Defined in linear-1.22 · Linear.Algebra(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion)Defined in linear-1.22 · Linear.AlgebraEq a => Eq (Quaternion a)Defined in linear-1.22 · Linear.QuaternionRealFloat a => Floating (Quaternion a)Defined in linear-1.22 · Linear.QuaternionRealFloat a => Fractional (Quaternion a)Defined in linear-1.22 · Linear.QuaternionData a => Data (Quaternion a)Defined in linear-1.22 · Linear.QuaternionRealFloat a => Num (Quaternion a)Defined in linear-1.22 · Linear.QuaternionOrd a => Ord (Quaternion a)Defined in linear-1.22 · Linear.QuaternionRead a => Read (Quaternion a)Defined in linear-1.22 · Linear.QuaternionShow a => Show (Quaternion a)Defined in linear-1.22 · Linear.QuaternionIx a => Ix (Quaternion a)Defined in linear-1.22 · Linear.QuaternionGeneric (Quaternion a)Defined in linear-1.22 · Linear.QuaternionSemigroup a => Semigroup (Quaternion a)Defined in linear-1.22 · Linear.QuaternionMonoid a => Monoid (Quaternion a)Defined in linear-1.22 · Linear.QuaternionStorable a => Storable (Quaternion a)Defined in linear-1.22 · Linear.QuaternionNFData a => NFData (Quaternion a)Defined in linear-1.22 · Linear.QuaternionRandom a => Random (Quaternion a)Defined in linear-1.22 · Linear.QuaternionBinary a => Binary (Quaternion a)Defined in linear-1.22 · Linear.QuaternionHashable a => Hashable (Quaternion a)Defined in linear-1.22 · Linear.QuaternionUnbox a => Unbox (Quaternion a)Defined in linear-1.22 · Linear.QuaternionSerialize a => Serialize (Quaternion a)Defined in linear-1.22 · Linear.QuaternionIxed (Quaternion a)Defined in linear-1.22 · Linear.QuaternionSerial a => Serial (Quaternion a)Defined in linear-1.22 · Linear.Quaternion(Conjugate a, RealFloat a) => Conjugate (Quaternion a)Defined in linear-1.22 · Linear.Quaternion(RealFloat a, Epsilon a) => Epsilon (Quaternion a)Defined in linear-1.22 · Linear.QuaternionFoldableWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionFunctorWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionTraversableWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionEach (Quaternion a) (Quaternion b) a bDefined in linear-1.22 · Linear.QuaternionField1 (Quaternion a) (Quaternion a) a aDefined in linear-1.22 · Linear.QuaternionField2 (Quaternion a) (Quaternion a) a aDefined in linear-1.22 · Linear.QuaternionField3 (Quaternion a) (Quaternion a) a aDefined in linear-1.22 · Linear.QuaternionField4 (Quaternion a) (Quaternion a) a aDefined in linear-1.22 · Linear.Quaterniontype Rep (Quaternion a) = D1 ('MetaDataDefined in linear-1.22 · Linear.Quaternion"Quaternion"
"Linear.Quaternion"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"Quaternion"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec0 (V3 a))))type Rep1 Quaternion = D1 ('MetaDataDefined in linear-1.22 · Linear.Quaternion"Quaternion"
"Linear.Quaternion"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"Quaternion"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'SourceUnpack 'SourceStrict 'DecidedUnpack) (Rec1 V3)))data MVector s (Quaternion a)Defined in linear-1.22 · Linear.Quaterniondata Vector (Quaternion a)Defined in linear-1.22 · Linear.Quaterniontype Rep Quaternion = E QuaternionDefined in linear-1.22 · Linear.Quaterniontype Index (Quaternion a) = E QuaternionDefined in linear-1.22 · Linear.Quaterniontype IxValue (Quaternion a) = aDefined in linear-1.22 · Linear.Quaterniontype Diff Quaternion = QuaternionDefined in linear-1.22 · Linear.Affinetype Size Quaternion =Defined in linear-1.22 · Linear.Quaternion4
norm of the imaginary component
acosh with a specified branch cut.
acos with a specified branch cut.
asinh with a specified branch cut.
asin with a specified branch cut.
atanh with a specified branch cut.
atan with a specified branch cut.
axisAngle axis theta builds a Quaternion representing a
rotation of theta radians about axis.
raise a Quaternion to a scalar power
Spherical linear interpolation between two quaternions.
Instances14Trace, …
Trace ComplexDefined in linear-1.22 · Linear.TraceTrace IntMapDefined in linear-1.22 · Linear.TraceTrace PluckerDefined in linear-1.22 · Linear.TraceTrace QuaternionDefined in linear-1.22 · Linear.TraceTrace V0Defined in linear-1.22 · Linear.TraceTrace V1Defined in linear-1.22 · Linear.TraceTrace V2Defined in linear-1.22 · Linear.TraceTrace V3Defined in linear-1.22 · Linear.TraceTrace V4Defined in linear-1.22 · Linear.TraceOrd k => Trace (Map k)Defined in linear-1.22 · Linear.Trace(Eq k, Hashable k) => Trace (HashMap k)Defined in linear-1.22 · Linear.TraceDim n => Trace (V n)Defined in linear-1.22 · Linear.Trace(Trace f, Trace g) => Trace (Product f g)Defined in linear-1.22 · Linear.Trace(Distributive g, Trace g, Trace f) => Trace (Compose g f)Defined in linear-1.22 · Linear.Trace
Compute the Frobenius norm of a matrix.
A 0-dimensional vector
pure 1 :: V0 IntV0
V0 + V0V0
Instances65Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V0Defined in linear-1.22 · Linear.V0Functor V0Defined in linear-1.22 · Linear.V0MonadFix V0Defined in linear-1.22 · Linear.V0Applicative V0Defined in linear-1.22 · Linear.V0Foldable V0Defined in linear-1.22 · Linear.V0Traversable V0Defined in linear-1.22 · Linear.V0MonadZip V0Defined in linear-1.22 · Linear.V0Eq1 V0Defined in linear-1.22 · Linear.V0Ord1 V0Defined in linear-1.22 · Linear.V0Read1 V0Defined in linear-1.22 · Linear.V0Show1 V0Defined in linear-1.22 · Linear.V0Hashable1 V0Defined in linear-1.22 · Linear.V0Distributive V0Defined in linear-1.22 · Linear.V0Apply V0Defined in linear-1.22 · Linear.V0Bind V0Defined in linear-1.22 · Linear.V0Representable V0Defined in linear-1.22 · Linear.V0Serial1 V0Defined in linear-1.22 · Linear.V0Metric V0Defined in linear-1.22 · Linear.V0Trace V0Defined in linear-1.22 · Linear.TraceAdditive V0Defined in linear-1.22 · Linear.V0Affine V0Defined in linear-1.22 · Linear.AffineFinite V0Defined in linear-1.22 · Linear.V0Generic1 V0Defined in linear-1.22 · Linear.V0Lift (V0 a)Defined in linear-1.22 · Linear.V0Vector Vector (V0 a)Defined in linear-1.22 · Linear.V0MVector MVector (V0 a)Defined in linear-1.22 · Linear.V0Num r => Algebra r (E V0)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V0)Defined in linear-1.22 · Linear.AlgebraBounded (V0 a)Defined in linear-1.22 · Linear.V0Enum (V0 a)Defined in linear-1.22 · Linear.V0Eq (V0 a)Defined in linear-1.22 · Linear.V0Floating (V0 a)Defined in linear-1.22 · Linear.V0Fractional (V0 a)Defined in linear-1.22 · Linear.V0Data a => Data (V0 a)Defined in linear-1.22 · Linear.V0Num (V0 a)Defined in linear-1.22 · Linear.V0Ord (V0 a)Defined in linear-1.22 · Linear.V0Read (V0 a)Defined in linear-1.22 · Linear.V0Show (V0 a)Defined in linear-1.22 · Linear.V0Ix (V0 a)Defined in linear-1.22 · Linear.V0Generic (V0 a)Defined in linear-1.22 · Linear.V0Semigroup (V0 a)Defined in linear-1.22 · Linear.V0Monoid (V0 a)Defined in linear-1.22 · Linear.V0Storable (V0 a)Defined in linear-1.22 · Linear.V0NFData (V0 a)Defined in linear-1.22 · Linear.V0Random (V0 a)Defined in linear-1.22 · Linear.V0Binary (V0 a)Defined in linear-1.22 · Linear.V0Hashable (V0 a)Defined in linear-1.22 · Linear.V0Unbox (V0 a)Defined in linear-1.22 · Linear.V0Serialize (V0 a)Defined in linear-1.22 · Linear.V0Ixed (V0 a)Defined in linear-1.22 · Linear.V0Serial (V0 a)Defined in linear-1.22 · Linear.V0Epsilon (V0 a)Defined in linear-1.22 · Linear.V0FoldableWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0FunctorWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0TraversableWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0Each (V0 a) (V0 b) a bDefined in linear-1.22 · Linear.V0type Rep (V0 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V0"V0"
"Linear.V0"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V0"
'PrefixI 'False) U1)type Rep1 V0 = D1 ('MetaDataDefined in linear-1.22 · Linear.V0"V0"
"Linear.V0"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V0"
'PrefixI 'False) U1)data MVector s (V0 a)MV_V0 Int
data Vector (V0 a)V_V0 Int
type Rep V0 = E V0Defined in linear-1.22 · Linear.V0type Index (V0 a) = E V0Defined in linear-1.22 · Linear.V0type IxValue (V0 a) = aDefined in linear-1.22 · Linear.V0type Diff V0 = V0Defined in linear-1.22 · Linear.Affinetype Size V0 =Defined in linear-1.22 · Linear.V00
A space that has at least 1 basis vector _x.
Instances7R1, …
R1 IdentityDefined in linear-1.22 · Linear.V1R1 QuaternionDefined in linear-1.22 · Linear.QuaternionR1 V1Defined in linear-1.22 · Linear.V1R1 V2Defined in linear-1.22 · Linear.V2R1 V3Defined in linear-1.22 · Linear.V3R1 V4Defined in linear-1.22 · Linear.V4R1 f => R1 (Point f)Defined in linear-1.22 · Linear.Affine
A 1-dimensional vector
pure 1 :: V1 IntV1 1
V1 2 + V1 3V1 5
V1 2 * V1 3V1 6
sum (V1 2)2
Constructors
V1 a
Instances68Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V1Defined in linear-1.22 · Linear.V1Functor V1Defined in linear-1.22 · Linear.V1MonadFix V1Defined in linear-1.22 · Linear.V1Applicative V1Defined in linear-1.22 · Linear.V1Foldable V1Defined in linear-1.22 · Linear.V1Traversable V1Defined in linear-1.22 · Linear.V1MonadZip V1Defined in linear-1.22 · Linear.V1Foldable1 V1Defined in linear-1.22 · Linear.V1Eq1 V1Defined in linear-1.22 · Linear.V1Ord1 V1Defined in linear-1.22 · Linear.V1Read1 V1Defined in linear-1.22 · Linear.V1Show1 V1Defined in linear-1.22 · Linear.V1Hashable1 V1Defined in linear-1.22 · Linear.V1Distributive V1Defined in linear-1.22 · Linear.V1Apply V1Defined in linear-1.22 · Linear.V1Bind V1Defined in linear-1.22 · Linear.V1Traversable1 V1Defined in linear-1.22 · Linear.V1Representable V1Defined in linear-1.22 · Linear.V1Serial1 V1Defined in linear-1.22 · Linear.V1Metric V1Defined in linear-1.22 · Linear.V1Trace V1Defined in linear-1.22 · Linear.TraceR1 V1Defined in linear-1.22 · Linear.V1Additive V1Defined in linear-1.22 · Linear.V1Affine V1Defined in linear-1.22 · Linear.AffineFinite V1Defined in linear-1.22 · Linear.V1Generic1 V1Defined in linear-1.22 · Linear.V1Lift a => Lift (V1 a)Defined in linear-1.22 · Linear.V1Unbox a => Vector Vector (V1 a)Defined in linear-1.22 · Linear.V1Unbox a => MVector MVector (V1 a)Defined in linear-1.22 · Linear.V1Num r => Algebra r (E V1)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V1)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V1 a)Defined in linear-1.22 · Linear.V1Eq a => Eq (V1 a)Defined in linear-1.22 · Linear.V1Floating a => Floating (V1 a)Defined in linear-1.22 · Linear.V1Fractional a => Fractional (V1 a)Defined in linear-1.22 · Linear.V1Data a => Data (V1 a)Defined in linear-1.22 · Linear.V1Num a => Num (V1 a)Defined in linear-1.22 · Linear.V1Ord a => Ord (V1 a)Defined in linear-1.22 · Linear.V1Read a => Read (V1 a)Defined in linear-1.22 · Linear.V1Show a => Show (V1 a)Defined in linear-1.22 · Linear.V1Ix a => Ix (V1 a)Defined in linear-1.22 · Linear.V1Generic (V1 a)Defined in linear-1.22 · Linear.V1Semigroup a => Semigroup (V1 a)Defined in linear-1.22 · Linear.V1Monoid a => Monoid (V1 a)Defined in linear-1.22 · Linear.V1Storable a => Storable (V1 a)Defined in linear-1.22 · Linear.V1NFData a => NFData (V1 a)Defined in linear-1.22 · Linear.V1Random a => Random (V1 a)Defined in linear-1.22 · Linear.V1Binary a => Binary (V1 a)Defined in linear-1.22 · Linear.V1Hashable a => Hashable (V1 a)Defined in linear-1.22 · Linear.V1Unbox a => Unbox (V1 a)Defined in linear-1.22 · Linear.V1Serialize a => Serialize (V1 a)Defined in linear-1.22 · Linear.V1Ixed (V1 a)Defined in linear-1.22 · Linear.V1Serial a => Serial (V1 a)Defined in linear-1.22 · Linear.V1Epsilon a => Epsilon (V1 a)Defined in linear-1.22 · Linear.V1FoldableWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1FunctorWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1TraversableWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1Each (V1 a) (V1 b) a bDefined in linear-1.22 · Linear.V1Field1 (V1 a) (V1 b) a bDefined in linear-1.22 · Linear.V1type Rep (V1 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V1"V1"
"Linear.V1"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"V1"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))type Rep1 V1 = D1 ('MetaDataDefined in linear-1.22 · Linear.V1"V1"
"Linear.V1"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"V1"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) Par1))data MVector s (V1 a)MV_V1 (MVector s a)
data Vector (V1 a)V_V1 (Vector a)
type Rep V1 = E V1Defined in linear-1.22 · Linear.V1type Index (V1 a) = E V1Defined in linear-1.22 · Linear.V1type IxValue (V1 a) = aDefined in linear-1.22 · Linear.V1type Diff V1 = V1Defined in linear-1.22 · Linear.Affinetype Size V1 =Defined in linear-1.22 · Linear.V11
V2 1 2 ^. _yxV2 2 1
The Z-component of the cross product of two vectors in the XY-plane.
crossZ (V2 1 0) (V2 0 1)1
the counter-clockwise perpendicular vector
perp $ V2 10 20V2 (-20) 10
cross product
scalar triple product
Convert 4-dimensional projective coordinates to a 3-dimensional
point. This operation may be denoted, euclidean [x:y:z:w] = (x/w,
y/w, z/w) where the projective, homogenous, coordinate
[x:y:z:w] is one of many associated with a single point (x/w,
y/w, z/w).
Convert a 3-dimensional affine point into a 4-dimensional homogeneous vector,
i.e. sets the w coordinate to 1.
Compute the left scalar product
2 *^ V2 3 4V2 6 8
A vector is an additive group with additional structure.
Methods
zero :: Num a => f aThe zero vector
(^+^) :: Num a => f a -> f a -> f ainfixl 6Compute the sum of two vectors
Example1 expression V2 1 2 ^+^ V2 3 4V2 4 6
(^-^) :: Num a => f a -> f a -> f ainfixl 6Compute the difference between two vectors
Example1 expression V2 4 5 ^-^ V2 3 1V2 1 4
lerp :: Num a => a -> f a -> f a -> f aLinearly interpolate between two vectors.
liftU2 :: (a -> a -> a) -> f a -> f a -> f aliftI2 :: (a -> b -> c) -> f a -> f b -> f cApply a function to the components of two vectors.
For a dense vector this is equivalent to liftA2.
For a sparse vector this is equivalent to intersectionWith.
Instances21Additive, …
Additive ComplexDefined in linear-1.22 · Linear.VectorAdditive IntMapDefined in linear-1.22 · Linear.VectorAdditive IdentityDefined in linear-1.22 · Linear.VectorAdditive ZipListDefined in linear-1.22 · Linear.VectorAdditive MaybeDefined in linear-1.22 · Linear.VectorAdditive PluckerDefined in linear-1.22 · Linear.PluckerAdditive QuaternionDefined in linear-1.22 · Linear.QuaternionAdditive V0Defined in linear-1.22 · Linear.V0Additive V1Defined in linear-1.22 · Linear.V1Additive V2Defined in linear-1.22 · Linear.V2Additive V3Defined in linear-1.22 · Linear.V3Additive V4Defined in linear-1.22 · Linear.V4Additive VectorDefined in linear-1.22 · Linear.VectorAdditive []Defined in linear-1.22 · Linear.VectorOrd k => Additive (Map k)Defined in linear-1.22 · Linear.VectorAdditive f => Additive (Point f)Defined in linear-1.22 · Linear.Affine(Eq k, Hashable k) => Additive (HashMap k)Defined in linear-1.22 · Linear.VectorDim n => Additive (V n)Defined in linear-1.22 · Linear.VAdditive ((->) b)Defined in linear-1.22 · Linear.Vector(Additive f, Additive g) => Additive (Product f g)Defined in linear-1.22 · Linear.Vector(Additive f, Additive g) => Additive (Compose f g)Defined in linear-1.22 · Linear.Vector
Instances32Algebra, Coalgebra, FoldableWithIndex, FunctorWithIndex, TraversableWithIndex, …
Num r => Algebra r (E Complex)Defined in linear-1.22 · Linear.AlgebraNum r => Algebra r (E V0)Defined in linear-1.22 · Linear.AlgebraNum r => Algebra r (E V1)Defined in linear-1.22 · Linear.Algebra(Num r, TrivialConjugate r) => Algebra r (E Quaternion)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E Complex)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V0)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V1)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V2)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V3)Defined in linear-1.22 · Linear.AlgebraNum r => Coalgebra r (E V4)Defined in linear-1.22 · Linear.Algebra(Num r, TrivialConjugate r) => Coalgebra r (E Quaternion)Defined in linear-1.22 · Linear.AlgebraFoldableWithIndex (E Plucker) PluckerDefined in linear-1.22 · Linear.PluckerFoldableWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionFoldableWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0FoldableWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1FoldableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2FoldableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3FoldableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4FunctorWithIndex (E Plucker) PluckerDefined in linear-1.22 · Linear.PluckerFunctorWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionFunctorWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0FunctorWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1FunctorWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2FunctorWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3FunctorWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4TraversableWithIndex (E Plucker) PluckerDefined in linear-1.22 · Linear.PluckerTraversableWithIndex (E Quaternion) QuaternionDefined in linear-1.22 · Linear.QuaternionTraversableWithIndex (E V0) V0Defined in linear-1.22 · Linear.V0TraversableWithIndex (E V1) V1Defined in linear-1.22 · Linear.V1TraversableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2TraversableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3TraversableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4
Compute the right scalar product
V2 3 4 ^* 2V2 6 8
Compute division by a scalar on the right.
Produce a default basis for a vector space. If the dimensionality of the vector space is not statically known, see basisFor.
Produce a default basis for a vector space from which the argument is drawn.
Compute the negation of a vector
negated (V2 2 4)V2 (-2) (-4)
Outer (tensor) product of two vectors
Produce a diagonal (scale) matrix from a vector.
scaled (V2 2 3)V2 (V2 2 0) (V2 0 3)
Sum over multiple vectors
sumV [V2 1 1, V2 3 4]V2 4 5
Instances20Diff, …
type Diff Complex = ComplexDefined in linear-1.22 · Linear.Affinetype Diff IntMap = IntMapDefined in linear-1.22 · Linear.Affinetype Diff Identity = IdentityDefined in linear-1.22 · Linear.Affinetype Diff ZipList = ZipListDefined in linear-1.22 · Linear.Affinetype Diff Maybe = MaybeDefined in linear-1.22 · Linear.Affinetype Diff Plucker = PluckerDefined in linear-1.22 · Linear.Affinetype Diff Quaternion = QuaternionDefined in linear-1.22 · Linear.Affinetype Diff V0 = V0Defined in linear-1.22 · Linear.Affinetype Diff V1 = V1Defined in linear-1.22 · Linear.Affinetype Diff V2 = V2Defined in linear-1.22 · Linear.Affinetype Diff V3 = V3Defined in linear-1.22 · Linear.Affinetype Diff V4 = V4Defined in linear-1.22 · Linear.Affinetype Diff Vector = VectorDefined in linear-1.22 · Linear.Affinetype Diff (Product f g) = Product (Diff f) (Diff g)Defined in linear-1.22 · Linear.Affinetype Diff (Map k) = Map kDefined in linear-1.22 · Linear.Affinetype Diff (Point f) = fDefined in linear-1.22 · Linear.Affinetype Diff (V n) = V nDefined in linear-1.22 · Linear.Affinetype Diff (HashMap k) = HashMap kDefined in linear-1.22 · Linear.Affinetype Diff ((->) b) = (->) bDefined in linear-1.22 · Linear.Affinetype Diff [] = []Defined in linear-1.22 · Linear.Affine
Distance between two points in an affine space
Vector spaces have origins.
Compute the quadrance of the difference (the square of the distance)
An isomorphism between points and vectors, given a reference point.
Point
1 declarationA handy wrapper to help distinguish points from vectors at the type level
Constructors
P (f a)
Instances60Generic1, Monad, Functor, Applicative, Foldable, Traversable, …
Generic1 (Point f)Defined in linear-1.22 · Linear.AffineUnbox (f a) => Vector Vector (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => MVector MVector (Point f a)Defined in linear-1.22 · Linear.AffineMonad f => Monad (Point f)Defined in linear-1.22 · Linear.AffineFunctor f => Functor (Point f)Defined in linear-1.22 · Linear.AffineApplicative f => Applicative (Point f)Defined in linear-1.22 · Linear.AffineFoldable f => Foldable (Point f)Defined in linear-1.22 · Linear.AffineTraversable f => Traversable (Point f)Defined in linear-1.22 · Linear.AffineEq1 f => Eq1 (Point f)Defined in linear-1.22 · Linear.AffineOrd1 f => Ord1 (Point f)Defined in linear-1.22 · Linear.AffineRead1 f => Read1 (Point f)Defined in linear-1.22 · Linear.AffineShow1 f => Show1 (Point f)Defined in linear-1.22 · Linear.AffineHashable1 f => Hashable1 (Point f)Defined in linear-1.22 · Linear.AffineDistributive f => Distributive (Point f)Defined in linear-1.22 · Linear.AffineApply f => Apply (Point f)Defined in linear-1.22 · Linear.AffineBind f => Bind (Point f)Defined in linear-1.22 · Linear.AffineRepresentable f => Representable (Point f)Defined in linear-1.22 · Linear.AffineSerial1 f => Serial1 (Point f)Defined in linear-1.22 · Linear.AffineMetric f => Metric (Point f)Defined in linear-1.22 · Linear.AffineR1 f => R1 (Point f)Defined in linear-1.22 · Linear.AffineR2 f => R2 (Point f)Defined in linear-1.22 · Linear.AffineR3 f => R3 (Point f)Defined in linear-1.22 · Linear.AffineR4 f => R4 (Point f)Defined in linear-1.22 · Linear.AffineAdditive f => Additive (Point f)Defined in linear-1.22 · Linear.AffineAdditive f => Affine (Point f)Defined in linear-1.22 · Linear.AffineFinite f => Finite (Point f)Defined in linear-1.22 · Linear.AffineEq (f a) => Eq (Point f a)Defined in linear-1.22 · Linear.AffineFractional (f a) => Fractional (Point f a)Defined in linear-1.22 · Linear.Affine(Typeable f, Typeable a, Data (f a)) => Data (Point f a)Defined in linear-1.22 · Linear.AffineNum (f a) => Num (Point f a)Defined in linear-1.22 · Linear.AffineOrd (f a) => Ord (Point f a)Defined in linear-1.22 · Linear.AffineRead (f a) => Read (Point f a)Defined in linear-1.22 · Linear.AffineShow (f a) => Show (Point f a)Defined in linear-1.22 · Linear.AffineIx (f a) => Ix (Point f a)Defined in linear-1.22 · Linear.AffineGeneric (Point f a)Defined in linear-1.22 · Linear.AffineSemigroup (f a) => Semigroup (Point f a)Defined in linear-1.22 · Linear.AffineMonoid (f a) => Monoid (Point f a)Defined in linear-1.22 · Linear.AffineStorable (f a) => Storable (Point f a)Defined in linear-1.22 · Linear.AffineNFData (f a) => NFData (Point f a)Defined in linear-1.22 · Linear.AffineRandom (f a) => Random (Point f a)Defined in linear-1.22 · Linear.AffineBinary (f a) => Binary (Point f a)Defined in linear-1.22 · Linear.AffineHashable (f a) => Hashable (Point f a)Defined in linear-1.22 · Linear.AffineUnbox (f a) => Unbox (Point f a)Defined in linear-1.22 · Linear.AffineSerialize (f a) => Serialize (Point f a)Defined in linear-1.22 · Linear.AffineIxed (f a) => Ixed (Point f a)Defined in linear-1.22 · Linear.AffineWrapped (Point f a)Defined in linear-1.22 · Linear.AffineSerial (f a) => Serial (Point f a)Defined in linear-1.22 · Linear.AffineEpsilon (f a) => Epsilon (Point f a)Defined in linear-1.22 · Linear.Affinet ~ Point g b => Rewrapped (Point f a) tDefined in linear-1.22 · Linear.AffineTraversable f => Each (Point f a) (Point f b) a bDefined in linear-1.22 · Linear.Affinetype Rep (Point f a) = D1 ('MetaDataDefined in linear-1.22 · Linear.Affine"Point"
"Linear.Affine"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"P"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (f a))))type Rep1 (Point f) = D1 ('MetaDataDefined in linear-1.22 · Linear.Affine"Point"
"Linear.Affine"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'True) (C1 ('MetaCons"P"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec1 f)))data MVector s (Point f a)Defined in linear-1.22 · Linear.Affinedata Vector (Point f a)Defined in linear-1.22 · Linear.Affinetype Rep (Point f) = Rep fDefined in linear-1.22 · Linear.Affinetype Unwrapped (Point f a) = f aDefined in linear-1.22 · Linear.Affinetype Index (Point f a) = Index (f a)Defined in linear-1.22 · Linear.Affinetype IxValue (Point f a) = IxValue (f a)Defined in linear-1.22 · Linear.Affinetype Diff (Point f) = fDefined in linear-1.22 · Linear.Affinetype Size (Point f) = Size fDefined in linear-1.22 · Linear.Affine
Vectors
3 declarationsA 2-dimensional vector
pure 1 :: V2 IntV2 1 1
V2 1 2 + V2 3 4V2 4 6
V2 1 2 * V2 3 4V2 3 8
sum (V2 1 2)3
Constructors
V2 !a !a
Instances69Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V2Defined in linear-1.22 · Linear.V2Functor V2Defined in linear-1.22 · Linear.V2MonadFix V2Defined in linear-1.22 · Linear.V2Applicative V2Defined in linear-1.22 · Linear.V2Foldable V2Defined in linear-1.22 · Linear.V2Traversable V2Defined in linear-1.22 · Linear.V2MonadZip V2Defined in linear-1.22 · Linear.V2Foldable1 V2Defined in linear-1.22 · Linear.V2Eq1 V2Defined in linear-1.22 · Linear.V2Ord1 V2Defined in linear-1.22 · Linear.V2Read1 V2Defined in linear-1.22 · Linear.V2Show1 V2Defined in linear-1.22 · Linear.V2Hashable1 V2Defined in linear-1.22 · Linear.V2Distributive V2Defined in linear-1.22 · Linear.V2Apply V2Defined in linear-1.22 · Linear.V2Bind V2Defined in linear-1.22 · Linear.V2Traversable1 V2Defined in linear-1.22 · Linear.V2Representable V2Defined in linear-1.22 · Linear.V2Serial1 V2Defined in linear-1.22 · Linear.V2Metric V2Defined in linear-1.22 · Linear.V2Trace V2Defined in linear-1.22 · Linear.TraceR1 V2Defined in linear-1.22 · Linear.V2R2 V2Defined in linear-1.22 · Linear.V2Additive V2Defined in linear-1.22 · Linear.V2Affine V2Defined in linear-1.22 · Linear.AffineFinite V2Defined in linear-1.22 · Linear.V2Generic1 V2Defined in linear-1.22 · Linear.V2Lift a => Lift (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => Vector Vector (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => MVector MVector (V2 a)Defined in linear-1.22 · Linear.V2Num r => Coalgebra r (E V2)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V2 a)Defined in linear-1.22 · Linear.V2Eq a => Eq (V2 a)Defined in linear-1.22 · Linear.V2Floating a => Floating (V2 a)Defined in linear-1.22 · Linear.V2Fractional a => Fractional (V2 a)Defined in linear-1.22 · Linear.V2Data a => Data (V2 a)Defined in linear-1.22 · Linear.V2Num a => Num (V2 a)Defined in linear-1.22 · Linear.V2Ord a => Ord (V2 a)Defined in linear-1.22 · Linear.V2Read a => Read (V2 a)Defined in linear-1.22 · Linear.V2Show a => Show (V2 a)Defined in linear-1.22 · Linear.V2Ix a => Ix (V2 a)Defined in linear-1.22 · Linear.V2Generic (V2 a)Defined in linear-1.22 · Linear.V2Semigroup a => Semigroup (V2 a)Defined in linear-1.22 · Linear.V2Monoid a => Monoid (V2 a)Defined in linear-1.22 · Linear.V2Storable a => Storable (V2 a)Defined in linear-1.22 · Linear.V2NFData a => NFData (V2 a)Defined in linear-1.22 · Linear.V2Random a => Random (V2 a)Defined in linear-1.22 · Linear.V2Binary a => Binary (V2 a)Defined in linear-1.22 · Linear.V2Hashable a => Hashable (V2 a)Defined in linear-1.22 · Linear.V2Unbox a => Unbox (V2 a)Defined in linear-1.22 · Linear.V2Serialize a => Serialize (V2 a)Defined in linear-1.22 · Linear.V2Ixed (V2 a)Defined in linear-1.22 · Linear.V2Serial a => Serial (V2 a)Defined in linear-1.22 · Linear.V2Epsilon a => Epsilon (V2 a)Defined in linear-1.22 · Linear.V2FoldableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2FunctorWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2TraversableWithIndex (E V2) V2Defined in linear-1.22 · Linear.V2Each (V2 a) (V2 b) a bDefined in linear-1.22 · Linear.V2Field1 (V2 a) (V2 a) a aDefined in linear-1.22 · Linear.V2Field2 (V2 a) (V2 a) a aDefined in linear-1.22 · Linear.V2type Rep (V2 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V2"V2"
"Linear.V2"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V2"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)))type Rep1 V2 = D1 ('MetaDataDefined in linear-1.22 · Linear.V2"V2"
"Linear.V2"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V2"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1))data MVector s (V2 a)Defined in linear-1.22 · Linear.V2data Vector (V2 a)Defined in linear-1.22 · Linear.V2type Rep V2 = E V2Defined in linear-1.22 · Linear.V2type Index (V2 a) = E V2Defined in linear-1.22 · Linear.V2type IxValue (V2 a) = aDefined in linear-1.22 · Linear.V2type Diff V2 = V2Defined in linear-1.22 · Linear.Affinetype Size V2 =Defined in linear-1.22 · Linear.V22
A 3-dimensional vector
Constructors
V3 !a !a !a
Instances71Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V3Defined in linear-1.22 · Linear.V3Functor V3Defined in linear-1.22 · Linear.V3MonadFix V3Defined in linear-1.22 · Linear.V3Applicative V3Defined in linear-1.22 · Linear.V3Foldable V3Defined in linear-1.22 · Linear.V3Traversable V3Defined in linear-1.22 · Linear.V3MonadZip V3Defined in linear-1.22 · Linear.V3Foldable1 V3Defined in linear-1.22 · Linear.V3Eq1 V3Defined in linear-1.22 · Linear.V3Ord1 V3Defined in linear-1.22 · Linear.V3Read1 V3Defined in linear-1.22 · Linear.V3Show1 V3Defined in linear-1.22 · Linear.V3Hashable1 V3Defined in linear-1.22 · Linear.V3Distributive V3Defined in linear-1.22 · Linear.V3Apply V3Defined in linear-1.22 · Linear.V3Bind V3Defined in linear-1.22 · Linear.V3Traversable1 V3Defined in linear-1.22 · Linear.V3Representable V3Defined in linear-1.22 · Linear.V3Serial1 V3Defined in linear-1.22 · Linear.V3Metric V3Defined in linear-1.22 · Linear.V3Trace V3Defined in linear-1.22 · Linear.TraceR1 V3Defined in linear-1.22 · Linear.V3R2 V3Defined in linear-1.22 · Linear.V3R3 V3Defined in linear-1.22 · Linear.V3Additive V3Defined in linear-1.22 · Linear.V3Affine V3Defined in linear-1.22 · Linear.AffineFinite V3Defined in linear-1.22 · Linear.V3Generic1 V3Defined in linear-1.22 · Linear.V3Lift a => Lift (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => Vector Vector (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => MVector MVector (V3 a)Defined in linear-1.22 · Linear.V3Num r => Coalgebra r (E V3)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V3 a)Defined in linear-1.22 · Linear.V3Eq a => Eq (V3 a)Defined in linear-1.22 · Linear.V3Floating a => Floating (V3 a)Defined in linear-1.22 · Linear.V3Fractional a => Fractional (V3 a)Defined in linear-1.22 · Linear.V3Data a => Data (V3 a)Defined in linear-1.22 · Linear.V3Num a => Num (V3 a)Defined in linear-1.22 · Linear.V3Ord a => Ord (V3 a)Defined in linear-1.22 · Linear.V3Read a => Read (V3 a)Defined in linear-1.22 · Linear.V3Show a => Show (V3 a)Defined in linear-1.22 · Linear.V3Ix a => Ix (V3 a)Defined in linear-1.22 · Linear.V3Generic (V3 a)Defined in linear-1.22 · Linear.V3Semigroup a => Semigroup (V3 a)Defined in linear-1.22 · Linear.V3Monoid a => Monoid (V3 a)Defined in linear-1.22 · Linear.V3Storable a => Storable (V3 a)Defined in linear-1.22 · Linear.V3NFData a => NFData (V3 a)Defined in linear-1.22 · Linear.V3Random a => Random (V3 a)Defined in linear-1.22 · Linear.V3Binary a => Binary (V3 a)Defined in linear-1.22 · Linear.V3Hashable a => Hashable (V3 a)Defined in linear-1.22 · Linear.V3Unbox a => Unbox (V3 a)Defined in linear-1.22 · Linear.V3Serialize a => Serialize (V3 a)Defined in linear-1.22 · Linear.V3Ixed (V3 a)Defined in linear-1.22 · Linear.V3Serial a => Serial (V3 a)Defined in linear-1.22 · Linear.V3Epsilon a => Epsilon (V3 a)Defined in linear-1.22 · Linear.V3FoldableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3FunctorWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3TraversableWithIndex (E V3) V3Defined in linear-1.22 · Linear.V3Each (V3 a) (V3 b) a bDefined in linear-1.22 · Linear.V3Field1 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3Field2 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3Field3 (V3 a) (V3 a) a aDefined in linear-1.22 · Linear.V3type Rep (V3 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V3"V3"
"Linear.V3"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V3"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))type Rep1 V3 = D1 ('MetaDataDefined in linear-1.22 · Linear.V3"V3"
"Linear.V3"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V3"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))data MVector s (V3 a)Defined in linear-1.22 · Linear.V3data Vector (V3 a)Defined in linear-1.22 · Linear.V3type Rep V3 = E V3Defined in linear-1.22 · Linear.V3type Index (V3 a) = E V3Defined in linear-1.22 · Linear.V3type IxValue (V3 a) = aDefined in linear-1.22 · Linear.V3type Diff V3 = V3Defined in linear-1.22 · Linear.Affinetype Size V3 =Defined in linear-1.22 · Linear.V33
A 4-dimensional vector.
Constructors
V4 !a !a !a !a
Instances73Monad, Functor, MonadFix, Applicative, Foldable, Traversable, …
Monad V4Defined in linear-1.22 · Linear.V4Functor V4Defined in linear-1.22 · Linear.V4MonadFix V4Defined in linear-1.22 · Linear.V4Applicative V4Defined in linear-1.22 · Linear.V4Foldable V4Defined in linear-1.22 · Linear.V4Traversable V4Defined in linear-1.22 · Linear.V4MonadZip V4Defined in linear-1.22 · Linear.V4Foldable1 V4Defined in linear-1.22 · Linear.V4Eq1 V4Defined in linear-1.22 · Linear.V4Ord1 V4Defined in linear-1.22 · Linear.V4Read1 V4Defined in linear-1.22 · Linear.V4Show1 V4Defined in linear-1.22 · Linear.V4Hashable1 V4Defined in linear-1.22 · Linear.V4Distributive V4Defined in linear-1.22 · Linear.V4Apply V4Defined in linear-1.22 · Linear.V4Bind V4Defined in linear-1.22 · Linear.V4Traversable1 V4Defined in linear-1.22 · Linear.V4Representable V4Defined in linear-1.22 · Linear.V4Serial1 V4Defined in linear-1.22 · Linear.V4Metric V4Defined in linear-1.22 · Linear.V4Trace V4Defined in linear-1.22 · Linear.TraceR1 V4Defined in linear-1.22 · Linear.V4R2 V4Defined in linear-1.22 · Linear.V4R3 V4Defined in linear-1.22 · Linear.V4R4 V4Defined in linear-1.22 · Linear.V4Additive V4Defined in linear-1.22 · Linear.V4Affine V4Defined in linear-1.22 · Linear.AffineFinite V4Defined in linear-1.22 · Linear.V4Generic1 V4Defined in linear-1.22 · Linear.V4Lift a => Lift (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => Vector Vector (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => MVector MVector (V4 a)Defined in linear-1.22 · Linear.V4Num r => Coalgebra r (E V4)Defined in linear-1.22 · Linear.AlgebraBounded a => Bounded (V4 a)Defined in linear-1.22 · Linear.V4Eq a => Eq (V4 a)Defined in linear-1.22 · Linear.V4Floating a => Floating (V4 a)Defined in linear-1.22 · Linear.V4Fractional a => Fractional (V4 a)Defined in linear-1.22 · Linear.V4Data a => Data (V4 a)Defined in linear-1.22 · Linear.V4Num a => Num (V4 a)Defined in linear-1.22 · Linear.V4Ord a => Ord (V4 a)Defined in linear-1.22 · Linear.V4Read a => Read (V4 a)Defined in linear-1.22 · Linear.V4Show a => Show (V4 a)Defined in linear-1.22 · Linear.V4Ix a => Ix (V4 a)Defined in linear-1.22 · Linear.V4Generic (V4 a)Defined in linear-1.22 · Linear.V4Semigroup a => Semigroup (V4 a)Defined in linear-1.22 · Linear.V4Monoid a => Monoid (V4 a)Defined in linear-1.22 · Linear.V4Storable a => Storable (V4 a)Defined in linear-1.22 · Linear.V4NFData a => NFData (V4 a)Defined in linear-1.22 · Linear.V4Random a => Random (V4 a)Defined in linear-1.22 · Linear.V4Binary a => Binary (V4 a)Defined in linear-1.22 · Linear.V4Hashable a => Hashable (V4 a)Defined in linear-1.22 · Linear.V4Unbox a => Unbox (V4 a)Defined in linear-1.22 · Linear.V4Serialize a => Serialize (V4 a)Defined in linear-1.22 · Linear.V4Ixed (V4 a)Defined in linear-1.22 · Linear.V4Serial a => Serial (V4 a)Defined in linear-1.22 · Linear.V4Epsilon a => Epsilon (V4 a)Defined in linear-1.22 · Linear.V4FoldableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4FunctorWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4TraversableWithIndex (E V4) V4Defined in linear-1.22 · Linear.V4Each (V4 a) (V4 b) a bDefined in linear-1.22 · Linear.V4Field1 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field2 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field3 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4Field4 (V4 a) (V4 a) a aDefined in linear-1.22 · Linear.V4type Rep (V4 a) = D1 ('MetaDataDefined in linear-1.22 · Linear.V4"V4"
"Linear.V4"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V4"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a)) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 a))))type Rep1 V4 = D1 ('MetaDataDefined in linear-1.22 · Linear.V4"V4"
"Linear.V4"
"linear-1.22-3d3RJcba25gDknnFKeY2an"
'False) (C1 ('MetaCons"V4"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1 :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) Par1)))data MVector s (V4 a)Defined in linear-1.22 · Linear.V4data Vector (V4 a)Defined in linear-1.22 · Linear.V4type Rep V4 = E V4Defined in linear-1.22 · Linear.V4type Index (V4 a) = E V4Defined in linear-1.22 · Linear.V4type IxValue (V4 a) = aDefined in linear-1.22 · Linear.V4type Diff V4 = V4Defined in linear-1.22 · Linear.Affinetype Size V4 =Defined in linear-1.22 · Linear.V44