-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Hedgehog Generators for clash-prelude
--
-- Hedgehog Generators for clash-prelude
@package clash-prelude-hedgehog
@version 1.9.0
module Clash.Hedgehog.Annotations.SynthesisAttributes
genAttr :: forall m. MonadGen m => Range Int -> m (Attr String)
-- | Random generation of types from Clash.Signal.Internal.
module Clash.Hedgehog.Signal
genSignal :: MonadGen m => m a -> m (Signal dom a)
genActiveEdge :: MonadGen m => m ActiveEdge
genInitBehavior :: MonadGen m => m InitBehavior
genResetKind :: MonadGen m => m ResetKind
genResetPolarity :: MonadGen m => m ResetPolarity
-- | Random generation of Index.
module Clash.Hedgehog.Sized.Index
genIndex :: (MonadGen m, KnownNat n) => Range (Index n) -> m (Index n)
data SomeIndex atLeast
[SomeIndex] :: SNat n -> Index (atLeast + n) -> SomeIndex atLeast
genSomeIndex :: (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeIndex atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Index.SomeIndex atLeast)
-- | Random generation of RTree.
module Clash.Hedgehog.Sized.RTree
genRTree :: (MonadGen m, KnownNat n) => m a -> m (RTree n a)
genNonEmptyRTree :: (MonadGen m, KnownNat n, 1 <= n) => m a -> m (RTree n a)
data SomeRTree atLeast a
[SomeRTree] :: SNat n -> RTree (atLeast + n) a -> SomeRTree atLeast a
genSomeRTree :: (MonadGen m, KnownNat atLeast) => Range Natural -> m a -> m (SomeRTree atLeast a)
instance (GHC.TypeNats.KnownNat atLeast, GHC.Show.Show a) => GHC.Show.Show (Clash.Hedgehog.Sized.RTree.SomeRTree atLeast a)
-- | Random generation of Signed numbers.
module Clash.Hedgehog.Sized.Signed
genSigned :: (MonadGen m, KnownNat n) => Range (Signed n) -> m (Signed n)
data SomeSigned atLeast
[SomeSigned] :: SNat n -> Signed (atLeast + n) -> SomeSigned atLeast
genSomeSigned :: (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeSigned atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Signed.SomeSigned atLeast)
-- | Random generation of Unsigned numbers.
module Clash.Hedgehog.Sized.Unsigned
genUnsigned :: (MonadGen m, KnownNat n) => Range (Unsigned n) -> m (Unsigned n)
data SomeUnsigned atLeast
[SomeUnsigned] :: SNat n -> Unsigned (atLeast + n) -> SomeUnsigned atLeast
genSomeUnsigned :: (MonadGen m, KnownNat atLeast) => Range Natural -> m (SomeUnsigned atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.Unsigned.SomeUnsigned atLeast)
-- | Random generation of BitVector.
module Clash.Hedgehog.Sized.BitVector
-- | Generate a bit which is guaranteed to be defined. This will either
-- have the value low or high.
genDefinedBit :: MonadGen m => m Bit
-- | Generate a bit which is not guaranteed to be defined. This will either
-- have the value low or high, or throw an
-- XException.
genBit :: MonadGen m => m Bit
-- | Generate a bit vector where all bits are defined.
genDefinedBitVector :: (MonadGen m, KnownNat n) => m (BitVector n)
-- | Generate a bit vector where some bits may be undefined.
genBitVector :: forall m n. (MonadGen m, KnownNat n) => m (BitVector n)
data SomeBitVector atLeast
[SomeBitVector] :: SNat n -> BitVector (atLeast + n) -> SomeBitVector atLeast
genSomeBitVector :: forall m atLeast. (MonadGen m, KnownNat atLeast) => Range Natural -> (forall n. KnownNat n => m (BitVector n)) -> m (SomeBitVector atLeast)
instance GHC.TypeNats.KnownNat atLeast => GHC.Show.Show (Clash.Hedgehog.Sized.BitVector.SomeBitVector atLeast)
-- | Random generation of vectors.
module Clash.Hedgehog.Sized.Vector
-- | Generate a potentially empty vector, where each element is produced
-- using the supplied generator. For a non-empty vector, see
-- genNonEmptyVec.
genVec :: (MonadGen m, KnownNat n) => m a -> m (Vec n a)
-- | Generate a non-empty vector, where each element is produced using the
-- supplied generator. For a potentially empty vector, see genVec.
genNonEmptyVec :: (MonadGen m, KnownNat n, 1 <= n) => m a -> m (Vec n a)
data SomeVec atLeast a
[SomeVec] :: SNat n -> Vec (atLeast + n) a -> SomeVec atLeast a
genSomeVec :: (MonadGen m, KnownNat atLeast) => Range Natural -> m a -> m (SomeVec atLeast a)
instance (GHC.TypeNats.KnownNat atLeast, GHC.Show.Show a) => GHC.Show.Show (Clash.Hedgehog.Sized.Vector.SomeVec atLeast a)