clash-prelude-quickcheck-0.1.0.0: src/CLaSH/QuickCheck/Instances/BitPack.hs
module CLaSH.QuickCheck.Instances.BitPack () where
import Data.Bits
import qualified Test.QuickCheck
import Test.QuickCheck
import CLaSH.Prelude hiding (lift)
import CLaSH.Sized.Vector
import CLaSH.Promoted.Nat
import CLaSH.QuickCheck.Instances.BitVector
import CLaSH.QuickCheck.Instances.Vec
instance (BitPack (Unsigned a), KnownNat (BitSize (Unsigned a)))
=> Arbitrary (Unsigned a) where
arbitrary = unpack <$> arbitrary
shrink = fmap unpack . shrink . pack
instance (BitPack (Signed a), KnownNat (BitSize (Signed a)))
=> Arbitrary (Signed a) where
arbitrary = unpack <$> arbitrary
shrink = fmap unpack . shrink . pack