-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Linear Algebra -- -- Please see the README on GitHub at -- https://github.com/pdlla/linear-tests#readme @package linear-tests @version 0.1.1.0 module Linear.V3.Arbitrary -- | `Arbitrary UnitV3` always has norm 1 newtype UnitV3 a UnitV3 :: V3 a -> UnitV3 a [unUnitV3] :: UnitV3 a -> V3 a -- | `Arbitrary CartesianUnitV3` is a unit vector along cartesian axis newtype CartesianUnitV3 a CartesianUnitV3 :: V3 a -> CartesianUnitV3 a [unCartesianUnitV3] :: CartesianUnitV3 a -> V3 a -- | `Aribtrary BasisV3` is a orthonormal set of vectors newtype BasisV3 a BasisV3 :: (V3 a, V3 a, V3 a) -> BasisV3 a [unBasisV3] :: BasisV3 a -> (V3 a, V3 a, V3 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.V3.Arbitrary.BasisV3 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.V3.Arbitrary.CartesianUnitV3 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.V3.Arbitrary.UnitV3 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V3.Arbitrary.BasisV3 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V3.Arbitrary.CartesianUnitV3 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V3.Arbitrary.UnitV3 a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V3.V3 a) module Linear.Quaternion.Arbitrary -- | Arbitrary instances of this type are restricted to increment of 90 -- degrees along cartesian axis newtype CartesianQuaternion a CartesianQuaternion :: Quaternion a -> CartesianQuaternion a [unCartesianQuaternion] :: CartesianQuaternion a -> Quaternion a instance GHC.Show.Show a => GHC.Show.Show (Linear.Quaternion.Arbitrary.CartesianQuaternion a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Quaternion.Arbitrary.CartesianQuaternion a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Quaternion.Quaternion a) module Linear.V4.Arbitrary -- | `Arbitrary UnitV4` always has norm 1 newtype UnitV4 a UnitV4 :: V4 a -> UnitV4 a [unUnitV4] :: UnitV4 a -> V4 a instance GHC.Show.Show a => GHC.Show.Show (Linear.V4.Arbitrary.UnitV4 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V4.Arbitrary.UnitV4 a) instance Test.QuickCheck.Arbitrary.Arbitrary a => Test.QuickCheck.Arbitrary.Arbitrary (Linear.V4.V4 a) module Linear.Matrix.Arbitrary -- | `Arbitrary InvertibleM33` instances are always invertible newtype InvertibleM33 a InvertibleM33 :: M33 a -> InvertibleM33 a [unInvertibleM33] :: InvertibleM33 a -> M33 a -- | `Arbitrary DiagM33` instances only have non-zero diagonal entries -- (could still be zero) newtype DiagM33 a DiagM33 :: M33 a -> DiagM33 a [unDiagM33] :: DiagM33 a -> M33 a newtype InvertibleM44 a InvertibleM44 :: M44 a -> InvertibleM44 a [unInvertibleM44] :: InvertibleM44 a -> M44 a -- | `Arbitrary AffineM44` instances are affine M44 matrices (i.e. have -- [0,0,0,1] in last row) newtype AffineM44 a AffineM44 :: M44 a -> AffineM44 a [unAffineM44] :: AffineM44 a -> M44 a -- | `Arbitrary InvertibleAffineM44` instances are invertible affine M44 -- matrices newtype InvertibleAffineM44 a InvertibleAffineM44 :: M44 a -> InvertibleAffineM44 a [unInvertibleAffineM44] :: InvertibleAffineM44 a -> M44 a instance GHC.Show.Show a => GHC.Show.Show (Linear.Matrix.Arbitrary.InvertibleAffineM44 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.Matrix.Arbitrary.AffineM44 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.Matrix.Arbitrary.InvertibleM44 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.Matrix.Arbitrary.DiagM33 a) instance GHC.Show.Show a => GHC.Show.Show (Linear.Matrix.Arbitrary.InvertibleM33 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Num.Num a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Matrix.Arbitrary.InvertibleAffineM44 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Num.Num a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Matrix.Arbitrary.AffineM44 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Matrix.Arbitrary.InvertibleM44 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, GHC.Num.Num a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Matrix.Arbitrary.DiagM33 a) instance (Test.QuickCheck.Arbitrary.Arbitrary a, Linear.Epsilon.Epsilon a, GHC.Float.Floating a) => Test.QuickCheck.Arbitrary.Arbitrary (Linear.Matrix.Arbitrary.InvertibleM33 a) module Linear.Arbitrary