-- 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)