exact-real-0.12.5: test/Data/CReal/Extra.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Data.CReal.Extra
( module Data.CReal
) where
import Data.CReal
import GHC.TypeLits
import Test.QuickCheck (Arbitrary(..), chooseAny)
import Test.QuickCheck.Checkers (EqProp(..), eq)
instance KnownNat n => EqProp (CReal n) where
(=-=) = eq
instance KnownNat n => Arbitrary (CReal n) where
arbitrary = do
integralPart <- fromInteger <$> arbitrary
fractionalPart <- (subtract 0.5) <$> chooseAny
pure (integralPart + fractionalPart)