-- Do not edit! Automatically created with doctest-extract from src/Numeric/LAPACK/Example/DividedDifference.hs {-# LINE 29 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-} module DocTest.Numeric.LAPACK.Example.DividedDifference where import qualified Test.DocTest.Driver as DocTest {-# LINE 30 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-} import qualified Test.Utility as Util import Test.Utility (approxArray) import qualified Numeric.LAPACK.Vector as Vector import Numeric.LAPACK.Example.DividedDifference (dividedDifferencesMatrix) import Numeric.LAPACK.Matrix (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 $ Array.shape ys0 return (xs,(ys0,ys1)) test :: DocTest.T () test = do DocTest.printPrefix "Numeric.LAPACK.Example.DividedDifference:77: " {-# LINE 77 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-} DocTest.property {-# LINE 77 "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:78: " {-# LINE 78 "src/Numeric/LAPACK/Example/DividedDifference.hs" #-} DocTest.property {-# LINE 78 "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))