Copyright | (c) Antony Courtney and Henrik Nilsson, Yale University, 2003 |
---|---|
License | BSD-style (see the LICENSE file in the distribution) |
Maintainer | nilsson@cs.yale.edu |
Stability | provisional |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe |
Language | Haskell98 |
Vector space type relation and basic instances.
Documentation
class (Eq a, Floating a) => VectorSpace v a | v -> a where
zeroVector, (*^), (^+^), dot
zeroVector :: v
(*^) :: a -> v -> v infixr 9
(^/) :: v -> a -> v infixl 9
negateVector :: v -> v
(^+^) :: v -> v -> v infixl 6
(^-^) :: v -> v -> v infixl 6
dot :: v -> v -> a infix 7
norm :: v -> a
normalize :: v -> v
VectorSpace Double Double | |
VectorSpace Float Float | |
RealFloat a => VectorSpace (Vector2 a) a | |
RealFloat a => VectorSpace (Vector3 a) a | |
(Eq a, Floating a) => VectorSpace (a, a) a | |
(Eq a, Floating a) => VectorSpace (a, a, a) a | |
(Eq a, Floating a) => VectorSpace (a, a, a, a) a | |
(Eq a, Floating a) => VectorSpace (a, a, a, a, a) a |