-- Do not edit! Automatically created with doctest-extract from src/Numeric/LAPACK/Permutation/Private.hs {-# LINE 47 "src/Numeric/LAPACK/Permutation/Private.hs" #-} module DocTest.Numeric.LAPACK.Permutation.Private where import qualified Test.DocTest.Driver as DocTest {-# LINE 48 "src/Numeric/LAPACK/Permutation/Private.hs" #-} import qualified Test.QuickCheck as QC import Test.Permutation (genPerm, genPivots) import qualified Numeric.LAPACK.Permutation as Perm import Numeric.LAPACK.Permutation (Permutation, Inversion(NonInverted), determinant, multiply, transpose) import Numeric.LAPACK.Matrix (ShapeInt) import qualified Data.Array.Comfort.Storable as Array import Data.Eq.HT (equating) import Data.Semigroup ((<>)) import Control.Applicative (liftA2) genPerm2 :: QC.Gen (Permutation ShapeInt, Permutation ShapeInt) genPerm2 = do nat <- QC.arbitrary liftA2 (,) (genPerm nat) (genPerm nat) test :: DocTest.T () test = do DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:87: " {-# LINE 87 "src/Numeric/LAPACK/Permutation/Private.hs" #-} DocTest.property {-# LINE 87 "src/Numeric/LAPACK/Permutation/Private.hs" #-} (QC.forAll QC.arbitraryBoundedEnum $ \inv -> QC.forAll (QC.arbitrary >>= genPivots) $ \xs -> Array.toList xs == Array.toList (Perm.toPivots inv (Perm.fromPivots inv xs))) DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:168: " {-# LINE 168 "src/Numeric/LAPACK/Permutation/Private.hs" #-} DocTest.property {-# LINE 168 "src/Numeric/LAPACK/Permutation/Private.hs" #-} (QC.forAll genPerm2 $ \(p0,p1) -> determinant (multiply p0 p1) == determinant p0 <> determinant p1) DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:197: " {-# LINE 197 "src/Numeric/LAPACK/Permutation/Private.hs" #-} DocTest.property {-# LINE 197 "src/Numeric/LAPACK/Permutation/Private.hs" #-} (QC.forAll genPerm2 $ \(p0,p1) -> equating (Array.toList . Perm.toPivots NonInverted) (transpose $ multiply p0 p1) (multiply (transpose p1) (transpose p0)))