vector-space-0.2.0: Vector & affine spaces, plus derivativesSource codeContentsIndex
Data.VectorSpace
Stabilityexperimental
Maintainerconal@conal.net, andygill@ku.edu
Description
Vector spaces
Synopsis
module Data.AdditiveGroup
class AdditiveGroup v => VectorSpace v s | v -> s where
(*^) :: s -> v -> v
(^/) :: (Fractional s, VectorSpace v s) => v -> s -> v
(^*) :: VectorSpace v s => v -> s -> v
class VectorSpace v s => InnerSpace v s where
(<.>) :: v -> v -> s
lerp :: (VectorSpace v s, Num s) => v -> v -> s -> v
magnitudeSq :: InnerSpace v s => v -> s
magnitude :: (InnerSpace v s, Floating s) => v -> s
normalized :: (InnerSpace v s, Floating s) => v -> v
Documentation
module Data.AdditiveGroup
class AdditiveGroup v => VectorSpace v s | v -> s whereSource
Vector space v over a scalar field s. Extends AdditiveGroup with scalar multiplication.
Methods
(*^) :: s -> v -> vSource
Scale a vector
show/hide Instances
(^/) :: (Fractional s, VectorSpace v s) => v -> s -> vSource
Vector divided by scalar
(^*) :: VectorSpace v s => v -> s -> vSource
Vector multiplied by scalar
class VectorSpace v s => InnerSpace v s whereSource
Adds inner (dot) products.
Methods
(<.>) :: v -> v -> sSource
Inner/dot product
show/hide Instances
lerp :: (VectorSpace v s, Num s) => v -> v -> s -> vSource
Linear interpolation between a (when t==0) and b (when t==1).
magnitudeSq :: InnerSpace v s => v -> sSource
Square of the length of a vector. Sometimes useful for efficiency. See also magnitude.
magnitude :: (InnerSpace v s, Floating s) => v -> sSource
Length of a vector. See also magnitudeSq.
normalized :: (InnerSpace v s, Floating s) => v -> vSource
Vector in same direction as given one but with length of one. If given the zero vector, then return it.
Produced by Haddock version 2.3.0