BSD-3-Clause licensed by Edward A. Kmett
This version can be pinned in stack with:linear-1.15.5@sha256:8299e69032ccb46e06a18cb528ba64d9554b0bb346a72114983d6f131f92df68,2761
Module documentation for 1.15.5
- Linear
- Linear.Affine
- Linear.Algebra
- Linear.Binary
- Linear.Conjugate
- Linear.Covector
- Linear.Epsilon
- Linear.Instances
- Linear.Matrix
- Linear.Metric
- Linear.Plucker
- Linear.Projection
- Linear.Quaternion
- Linear.Trace
- Linear.V
- Linear.V0
- Linear.V1
- Linear.V2
- Linear.V3
- Linear.V4
- Linear.Vector
Depends on 17 packages
(full list with versions):
adjunctions,
base,
binary,
containers,
distributive,
ghc-prim,
hashable,
lens,
reflection,
semigroupoids,
semigroups,
tagged,
template-haskell,
transformers,
unordered-containers,
vector,
void linear
Highly polymorphic vector space operations on sparse and free vector spaces.
Contact Information
Contributions and bug reports are welcome!
Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.
-Edward Kmett
1.15.5
- Added
Metric instances for [], ZipList, Maybe
- Added
det44 and inv44 to Linear.Matrix
- Added
Data instance for Point
1.15.4
- Added Typeable and Data instances for V
1.15.3
- Added missing
FunctorWithIndex, FoldableWithIndex and TraversableWithIndex Int (V n) instances for V
1.15.2
- Added
frustum, analogous to the old glFrustum call.
- Added
inverseInfinitePerspective, inverseOrtho, inverseFrustum.
1.15.1
- Added
inversePerspective. It is much more accurate to compute it directly than to compute an inverse.
1.15.0.1
- Fixed build failures caused by
Linear re-exporting the old name.
1.15
- Renamed
Linear.Perspective to Linear.Projection.
- Fixed a build issue with GHC HEAD.
1.14.0.1
- Fixed test failures caused by 1.14
1.14
- Moved
Coincides to Linear.Plucker.Coincides. The constructors Line and Ray oft collided with user code.
1.13
- Switched ‘ortho’ to follow the OpenGL handedness.
1.12.1
- Added “swizzle” lenses e.g.
_yzx, which are useful for working with libraries like gl.
1.12
- Added ‘transpose’
- Added missing ‘Mxy’ matrices up to 4 dimensions – they were commonly reimplemented by users.
1.11.3
- Fixed an issue with
UndecidableInstances on GHC 7.6.3
1.11.2
- Added
Linear.Perspective.
1.11.1
- Added
_Point, relative and a few instances for Point.
1.11
- Changed the ‘representation’ of
V n from E (V n), which was hard to use, to Int, which is a bit too permissive, but is easy to use.
1.10.1
1.10
- Added
Hashable instances.
1.9.1
- Added a role annotation to
V n a to prevent users from using GHC 7.8’s Coercible machinery to violate invariants.
1.9.0.1
1.9
- Added
MonadZip instances.
- Added
MonadFix instances.
- Added
Control.Lens.Each.Each instances
1.8.1
1.8
- Added missing
Unbox instances for working with unboxed vectors of linear data types.
1.7
- Fixed
axisAngle
unit now has a rank 1 type.
1.5
1.4
- Renamed
incore to column and added an example.
1.3.1.1
1.3.1
- Better implementations of
basis and basisFor.
- Derived Generic instances.
1.2
- Improved matrix multiplication to properly support the sparse/sparse case.
1.1.4
- Marked modules
Trustworthy as necessary.
1.1.2
- Dependency bump for
reflection compatibility
1.1.1
- Fixed an infinite loop in the default definition of
liftI2.
1.1
- Added
Additive instances for [], Maybe and Vector.
1.0
- Strict vectors
- Exported
mkTransformationMat
- Bumped dependency bounds
0.9.1 [bug fix]
0.9
- Added sparse vector support.
0.8
0.7
- Added
Linear.Instances
- More documentation
0.6
- Removed the direct dependency on
lens.
- Added
Linear.Core to cover vector spaces as corepresentable functors.
0.5
- Added
Ix instances for V2, V3, and V4
0.4.2.2
- Removed the upper bound on
distributive
0.2