License | BSD3 |
---|---|
Maintainer | ziocroc@gmail.com |
Stability | experimental |
Portability | GHC only |
Safe Haskell | None |
Language | Haskell2010 |
Documentation
module Data.VectorSpace
module Data.Cross
Eq Vec3 Source # | |
Show Vec3 Source # | |
Generic Vec3 Source # | |
Storable Vec3 Source # | |
Hashable Vec3 Source # | |
HasCross3 Vec3 Source # | |
VectorSpace Vec3 Source # | |
InnerSpace Vec3 Source # | |
AdditiveGroup Vec3 Source # | |
Ext Vec3 Source # | |
type Rep Vec3 Source # | |
type Scalar Vec3 Source # | |
type Extended Vec3 Source # | |
class VectorSpace v => Ext v where Source #
(^|) :: v -> Scalar v -> Extended v infixl 5 Source #
Extend the vector with a specified scalar.
(^|^) :: v -> Extended v -> Extended v infixl 5 Source #
Extend the first vector using the components of the second vector.
For instance:
Mat2 (Vec2 x y) (Vec2 z w) ^|^ idmtx =
Mat3 (Vec3 x y 0) (Vec3 z w 0) (Vec3 0 0 1)
extract :: Extended v -> v Source #
Extract a smaller vector.