{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE CPP #-}
module Data.GenValidity.Scientific where
import Data.List
#if !MIN_VERSION_base(4,8,0)
import Control.Applicative ((<*>))
import Data.Functor ((<$>))
#endif
import Data.GenValidity
import Data.Scientific
import Data.Validity.Scientific ()
instance GenUnchecked Scientific where
genUnchecked = scientific <$> genUnchecked <*> genUnchecked
shrinkUnchecked s =
nub $
filter (/= s) $
[ scientific c e
| (c, e) <- shrinkUnchecked (coefficient s, base10Exponent s)
]
instance GenValid Scientific