Animas-0.2: Updated version of Yampa: a library for programming hybrid systems.

Portabilitynon-portable (GHC extensions)
Stabilityprovisional
Maintainernilsson@cs.yale.edu

FRP.Animas.VectorSpace

Description

Vector space type relation and basic instances.

Synopsis

Documentation

class Floating a => VectorSpace v a | v -> a whereSource

Type class for a vector space

Methods

zeroVector :: vSource

Vector with no magnitude

(*^) :: a -> v -> vSource

Scale the magnitude

(^/) :: v -> a -> vSource

De-scale the magnitude

negateVector :: v -> vSource

Negation

(^+^) :: v -> v -> vSource

Combine two vectors additively

(^-^) :: v -> v -> vSource

Subtract a vector from another

dot :: v -> v -> aSource

Take the dot-product of two vectors

norm :: v -> aSource

Vector norm

normalize :: v -> vSource

Produce a unit vector in the direction of a vector

Instances

VectorSpace Double Double 
VectorSpace Float Float 
RealFloat a => VectorSpace (Vector2 a) a

Rotate a vector by some angle theta

RealFloat a => VectorSpace (Vector3 a) a 
Floating a => VectorSpace (a, a) a 
Floating a => VectorSpace (a, a, a) a 
Floating a => VectorSpace (a, a, a, a) a 
Floating a => VectorSpace (a, a, a, a, a) a