1.20.7
- Support
semigroupoids-5.2.1
and doctest-0.12
1.20.6
- Revamp
Setup.hs
to use cabal-doctest
. This makes it build
with Cabal-2.0
, and makes the doctest
s work with cabal new-build
and
sandboxes.
- Make
(1 / x)
and recip x
agree in the Fractional
instance for Quaternion
- Use newtype instances for
Point
vectors in Linear.Affine
- Enable
PolyKinds
in Linear.Trace
. Also enable PolyKinds
when GHC 7.6 or
later is used (previously, it was GHC 7.8 or later).
- Fix a segfault arising from the
MVector
instance for V
- Add
Finite
class for conversion between V
and fixed-size vector types
1.20.5
- GHC 8 compatibility
- Fixed the
perspective
calculation.
1.20.4
- Compatibility with
base-orphans
0.5
1.20.3
- Support
vector
0.11.0.0.
- Support
cereal
0.5
- You can now unboxed vectors of
V n
vectors.
1.20.2
- Modified the
doctest
machinery to work with stack
and builds to non-standard locations.
- Removed the local
.ghci
file.
- Various numerical stability improvements were made to the quaternion and projection functions.
1.20.1
- Fixed doctests broken by the previous change.
- Unboxed vector instances for various linear data types now use unpacked integers even on older GHCs.
1.20
inv22
, inv33
and inv44
no longer attempt an epsilon check. They no longer return a Maybe
result as a consequence.
You should filter for the 0 determinant case yourself.
1.19.1.3
1.19.1.2
1.19.1.1
- Proper
reflection
2 support
1.19.1
1.19
- Change the Ixed instance for
Linear.V
to use Int
as the index type. This makes V n
a lot easier to use.
1.18.3
- Compile warning-free on GHC 7.10.
1.18.2
- Added
NFData
instance for Point
1.18.1
- Added an
-f-template-haskell
option to allow disabling template-haskell
support. This is an unsupported configuration but may be useful for expert users in sandbox configurations.
- Added lenses for extracting corner various sub-matrices e.g.
_m22
, _m33
1.18.0.2
- Fixed builds on even older GHCs.
1.18.0.1
- Fixed the test suite.
- Fixed builds on older GHCs.
1.18
- Consolidated
eye2
.. eye4
into a single identity
combinator.
- Fixed the
Data
instance V n a
for GHC 7.10-RC3.
1.17.1.1
1.17.1
- Added support for
Data.Functor.Classes
from transformers
0.5 via transformers-compat
.
- Added missing support for
binary
, bytes
and cereal
for Point
1.17
- Better support for
binary
. Added support for bytes
and cereal
1.16.4
ortho
and inverseOrtho
now only require a Fractional
constraint.
- Added missing
Floating
instances.
1.16.3
- Improve the performance of
fromQuaternion
, mkTransformation
,
mkTransformationMat
, basisFor
, scaled
by using implementations
that inline well for functions that were previously reference
implementations.
1.16.2
- Added
NFData
instances for the various vector types.
- Added
!!/
operator for matrix division by scalar.
1.16.1
- Added
Trace
instance for V1
.
1.16
- Renamed
kronecker
to scaled
.
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