lapack-0.4: test/DocTest/Numeric/LAPACK/Example/DividedDifference.hs
-- Do not edit! Automatically created with doctest-extract from src/Numeric/LAPACK/Example/DividedDifference.hs
{-# LINE 30 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
module DocTest.Numeric.LAPACK.Example.DividedDifference where
import qualified Test.DocTest.Driver as DocTest
{-# LINE 31 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
import qualified Test.Utility as Util
import Test.Utility (approxArray)
import qualified Numeric.LAPACK.Example.DividedDifference as DD
import qualified Numeric.LAPACK.Vector as Vector
import Numeric.LAPACK.Example.DividedDifference (dividedDifferencesMatrix)
import Numeric.LAPACK.Matrix (ShapeInt, shapeInt, (#+#))
import Numeric.LAPACK.Vector ((|+|))
import qualified Data.Array.Comfort.Storable as Array
import qualified Test.QuickCheck as QC
import Control.Monad (liftM2)
import Data.Tuple.HT (mapPair)
import Data.Semigroup ((<>))
type Vector = Vector.Vector ShapeInt Float
genDD :: QC.Gen (Vector, (Vector, Vector))
genDD = do
(ys0,ys1) <-
fmap (mapPair (Vector.autoFromList, Vector.autoFromList) .
unzip . take 10) $
QC.listOf $ liftM2 (,) (Util.genElement 10) (Util.genElement 10)
xs <- Util.genDistinct [-10..10] [-10..10] $ Array.shape ys0
return (xs,(ys0,ys1))
test :: DocTest.T ()
test = do
DocTest.printPrefix "Numeric.LAPACK.Example.DividedDifference:85: "
{-# LINE 85 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
DocTest.property
{-# LINE 85 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
(QC.forAll genDD $ \(xs, (ys0,ys1)) -> approxArray (dividedDifferencesMatrix xs (ys0|+|ys1)) (dividedDifferencesMatrix xs ys0 #+# dividedDifferencesMatrix xs ys1))
DocTest.printPrefix "Numeric.LAPACK.Example.DividedDifference:86: "
{-# LINE 86 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
DocTest.property
{-# LINE 86 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
(QC.forAll genDD $ \(xs, (ys0,ys1)) -> approxArray (dividedDifferencesMatrix xs (Vector.mul ys0 ys1)) (dividedDifferencesMatrix xs ys0 <> dividedDifferencesMatrix xs ys1))
DocTest.printPrefix "Numeric.LAPACK.Example.DividedDifference:96: "
{-# LINE 96 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
DocTest.property
{-# LINE 96 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-}
(QC.forAll (QC.choose (0,10)) $ \n -> let sh = shapeInt n in QC.forAll (Util.genDistinct [-10..10] [-10..10] sh) $ \xs -> approxArray (DD.parameterDifferencesMatrix xs) (DD.upperFromPyramid sh (Vector.zero sh : DD.parameterDifferences xs)))