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 | Haskell2010 |
Vector space type relation and basic instances.
Documentation
class (Eq a, Floating a) => VectorSpace v a | v -> a where Source #
zeroVector, (*^), (^+^), dot
zeroVector :: v Source #
(*^) :: a -> v -> v infixr 9 Source #
(^/) :: v -> a -> v infixl 9 Source #
negateVector :: v -> v Source #
(^+^) :: v -> v -> v infixl 6 Source #
(^-^) :: v -> v -> v infixl 6 Source #
Instances
VectorSpace Double Double Source # | |
Defined in FRP.Yampa.VectorSpace zeroVector :: Double Source # (*^) :: Double -> Double -> Double Source # (^/) :: Double -> Double -> Double Source # negateVector :: Double -> Double Source # (^+^) :: Double -> Double -> Double Source # (^-^) :: Double -> Double -> Double Source # dot :: Double -> Double -> Double Source # | |
VectorSpace Float Float Source # | |
Defined in FRP.Yampa.VectorSpace | |
RealFloat a => VectorSpace (Vector3 a) a Source # | |
Defined in FRP.Yampa.Vector3 zeroVector :: Vector3 a Source # (*^) :: a -> Vector3 a -> Vector3 a Source # (^/) :: Vector3 a -> a -> Vector3 a Source # negateVector :: Vector3 a -> Vector3 a Source # (^+^) :: Vector3 a -> Vector3 a -> Vector3 a Source # (^-^) :: Vector3 a -> Vector3 a -> Vector3 a Source # dot :: Vector3 a -> Vector3 a -> a Source # | |
RealFloat a => VectorSpace (Vector2 a) a Source # | |
Defined in FRP.Yampa.Vector2 zeroVector :: Vector2 a Source # (*^) :: a -> Vector2 a -> Vector2 a Source # (^/) :: Vector2 a -> a -> Vector2 a Source # negateVector :: Vector2 a -> Vector2 a Source # (^+^) :: Vector2 a -> Vector2 a -> Vector2 a Source # (^-^) :: Vector2 a -> Vector2 a -> Vector2 a Source # dot :: Vector2 a -> Vector2 a -> a Source # | |
(Eq a, Floating a) => VectorSpace (a, a) a Source # | |
Defined in FRP.Yampa.VectorSpace | |
(Eq a, Floating a) => VectorSpace (a, a, a) a Source # | |
Defined in FRP.Yampa.VectorSpace zeroVector :: (a, a, a) Source # (*^) :: a -> (a, a, a) -> (a, a, a) Source # (^/) :: (a, a, a) -> a -> (a, a, a) Source # negateVector :: (a, a, a) -> (a, a, a) Source # (^+^) :: (a, a, a) -> (a, a, a) -> (a, a, a) Source # (^-^) :: (a, a, a) -> (a, a, a) -> (a, a, a) Source # dot :: (a, a, a) -> (a, a, a) -> a Source # | |
(Eq a, Floating a) => VectorSpace (a, a, a, a) a Source # | |
Defined in FRP.Yampa.VectorSpace zeroVector :: (a, a, a, a) Source # (*^) :: a -> (a, a, a, a) -> (a, a, a, a) Source # (^/) :: (a, a, a, a) -> a -> (a, a, a, a) Source # negateVector :: (a, a, a, a) -> (a, a, a, a) Source # (^+^) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) Source # (^-^) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) Source # dot :: (a, a, a, a) -> (a, a, a, a) -> a Source # | |
(Eq a, Floating a) => VectorSpace (a, a, a, a, a) a Source # | |
Defined in FRP.Yampa.VectorSpace zeroVector :: (a, a, a, a, a) Source # (*^) :: a -> (a, a, a, a, a) -> (a, a, a, a, a) Source # (^/) :: (a, a, a, a, a) -> a -> (a, a, a, a, a) Source # negateVector :: (a, a, a, a, a) -> (a, a, a, a, a) Source # (^+^) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) Source # (^-^) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) Source # dot :: (a, a, a, a, a) -> (a, a, a, a, a) -> a Source # |