Yampa-0.10.5.1: Library for programming hybrid systems.

Copyright (c) Antony Courtney and Henrik Nilsson Yale University 2003 BSD-style (see the LICENSE file in the distribution) nilsson@cs.yale.edu provisional non-portable (GHC extensions) Safe Haskell98

FRP.Yampa.VectorSpace

Description

Vector space type relation and basic instances.

# Documentation

class (Eq a, Floating a) => VectorSpace v a | v -> a where Source #

Minimal complete definition

Methods

(*^) :: 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 #

dot :: v -> v -> a infix 7 Source #

norm :: v -> a Source #

normalize :: v -> v Source #

Instances

 Source # Methods Source # Methods RealFloat a => VectorSpace (Vector2 a) a Source # Methods(*^) :: a -> Vector2 a -> Vector2 a Source #(^/) :: Vector2 a -> 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 #norm :: Vector2 a -> a Source # RealFloat a => VectorSpace (Vector3 a) a Source # Methods(*^) :: a -> Vector3 a -> Vector3 a Source #(^/) :: Vector3 a -> 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 #norm :: Vector3 a -> a Source # (Eq a, Floating a) => VectorSpace (a, a) a Source # MethodszeroVector :: (a, a) Source #(*^) :: a -> (a, a) -> (a, a) Source #(^/) :: (a, a) -> a -> (a, a) Source #negateVector :: (a, a) -> (a, a) Source #(^+^) :: (a, a) -> (a, a) -> (a, a) Source #(^-^) :: (a, a) -> (a, a) -> (a, a) Source #dot :: (a, a) -> (a, a) -> a Source #norm :: (a, a) -> a Source #normalize :: (a, a) -> (a, a) Source # (Eq a, Floating a) => VectorSpace (a, a, a) a Source # MethodszeroVector :: (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 #norm :: (a, a, a) -> a Source #normalize :: (a, a, a) -> (a, a, a) Source # (Eq a, Floating a) => VectorSpace (a, a, a, a) a Source # MethodszeroVector :: (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 #norm :: (a, a, a, a) -> a Source #normalize :: (a, a, a, a) -> (a, a, a, a) Source # (Eq a, Floating a) => VectorSpace (a, a, a, a, a) a Source # MethodszeroVector :: (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 #norm :: (a, a, a, a, a) -> a Source #normalize :: (a, a, a, a, a) -> (a, a, a, a, a) Source #