numeric-prelude-0.4.4: test/Test/Algebra/IntegralDomain.hs
-- Do not edit! Automatically created with doctest-extract from src/Algebra/IntegralDomain.hs
{-# LINE 54 "src/Algebra/IntegralDomain.hs" #-}
module Test.Algebra.IntegralDomain where
import qualified Test.DocTest.Driver as DocTest
{-# LINE 55 "src/Algebra/IntegralDomain.hs" #-}
import Algebra.IntegralDomain (roundDown, roundUp, divUp)
import qualified Test.QuickCheck as QC
import NumericPrelude.Base as P
import NumericPrelude.Numeric as NP
import Prelude ()
test :: DocTest.T ()
test = do
DocTest.printPrefix "Algebra.IntegralDomain:108: "
{-# LINE 108 "src/Algebra/IntegralDomain.hs" #-}
DocTest.property
{-# LINE 108 "src/Algebra/IntegralDomain.hs" #-}
(\n (QC.NonZero m) -> let (q,r) = divMod n m in n == (q*m+r :: Integer))
DocTest.printPrefix "Algebra.IntegralDomain:198: "
{-# LINE 198 "src/Algebra/IntegralDomain.hs" #-}
DocTest.property
{-# LINE 198 "src/Algebra/IntegralDomain.hs" #-}
(\n (QC.NonZero m) -> div n m * m == (roundDown n m :: Integer))
DocTest.printPrefix "Algebra.IntegralDomain:208: "
{-# LINE 208 "src/Algebra/IntegralDomain.hs" #-}
DocTest.property
{-# LINE 208 "src/Algebra/IntegralDomain.hs" #-}
(\n (QC.NonZero m) -> divUp n m * m == (roundUp n m :: Integer))
DocTest.printPrefix "Algebra.IntegralDomain:209: "
{-# LINE 209 "src/Algebra/IntegralDomain.hs" #-}
DocTest.property
{-# LINE 209 "src/Algebra/IntegralDomain.hs" #-}
(\n (QC.Positive m) -> let x = roundDown n m in n-m < x && x <= (n :: Integer))
DocTest.printPrefix "Algebra.IntegralDomain:210: "
{-# LINE 210 "src/Algebra/IntegralDomain.hs" #-}
DocTest.property
{-# LINE 210 "src/Algebra/IntegralDomain.hs" #-}
(\n (QC.NonZero m) -> - roundDown n m == (roundUp (-n) m :: Integer))