packages feed

lapack-0.4: test/DocTest/Numeric/LAPACK/Permutation/Private.hs

-- Do not edit! Automatically created with doctest-extract from src/Numeric/LAPACK/Permutation/Private.hs
{-# LINE 46 "src/Numeric/LAPACK/Permutation/Private.hs" #-}

module DocTest.Numeric.LAPACK.Permutation.Private where

import qualified Test.DocTest.Driver as DocTest

{-# LINE 47 "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, determinant, multiply, transpose)
import     Numeric.LAPACK.Matrix (ShapeInt)

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:100: "
{-# LINE 100 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
 DocTest.property
{-# LINE 100 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
     (QC.forAll QC.arbitraryBoundedEnum $ \inv -> QC.forAll (QC.arbitrary >>= genPivots) $ \xs -> xs == Perm.toPivots inv (Perm.fromPivots inv xs))
 DocTest.printPrefix "Numeric.LAPACK.Permutation.Private:183: "
{-# LINE 183 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
 DocTest.property
{-# LINE 183 "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:212: "
{-# LINE 212 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
 DocTest.property
{-# LINE 212 "src/Numeric/LAPACK/Permutation/Private.hs" #-}
     (QC.forAll genPerm2 $ \(p0,p1) -> transpose (multiply p0 p1) == multiply (transpose p1) (transpose p0))