Portability | portable |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | None |
Operations on free vector spaces.
- (^+^) :: (Applicative f, Num a) => f a -> f a -> f a
- gnegate :: (Functor f, Num a) => f a -> f a
- (^-^) :: (Applicative f, Num a) => f a -> f a -> f a
- (^*) :: (Functor f, Num a) => f a -> a -> f a
- (*^) :: (Functor f, Num a) => a -> f a -> f a
- (^/) :: (Functor f, Fractional a) => f a -> a -> f a
- lerp :: (Applicative f, Num a) => a -> f a -> f a -> f a
- basis :: (Applicative t, Traversable t, Num a) => [t a]
- basisFor :: (Traversable t, Enum a, Num a) => t a -> [t a]
Documentation
(^+^) :: (Applicative f, Num a) => f a -> f a -> f aSource
Compute the sum of two vectors
(^-^) :: (Applicative f, Num a) => f a -> f a -> f aSource
Compute the difference between two vectors
(^/) :: (Functor f, Fractional a) => f a -> a -> f aSource
Compute division by a scalar on the right.
lerp :: (Applicative f, Num a) => a -> f a -> f a -> f aSource
Linearly interpolate between two vectors.
basis :: (Applicative t, Traversable t, Num a) => [t a]Source
Produce a default basis for a vector space. If the dimensionality
of the vector space is not statically known, see basisFor
.
basisFor :: (Traversable t, Enum a, Num a) => t a -> [t a]Source
Produce a default basis for a vector space from which the argument is drawn.