exact-real-0.12.0: 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(..), choose)
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 <- choose (-0.5, 0.5)
pure (integralPart + fractionalPart)