rewire-user-2.8
Safe HaskellNone
LanguageHaskell2010

ReWire.Finite

Synopsis

Documentation

finite :: forall (n :: Nat). KnownNat n => Integer -> Finite n Source #

Convert an Integer into a Finite n, throws an error if negative or >= n.

toFinite :: forall (n :: Nat) (m :: Nat). KnownNat n => W m -> Finite n Source #

Converts argument bitvector to Finite, raising error if unrepresentable.

minBound :: forall (n :: Nat). KnownNat n => Finite n Source #

maxBound :: forall (n :: Nat). KnownNat n => Finite n Source #

toFinite' :: forall (n :: Nat) (m :: Nat). KnownNat n => W m -> Finite n Source #

Converts argument bitvector to Finite n, reducing modulo n if necessary (without raising error; n must be positive, as Finite 0 is uninhabited).

fromFinite :: forall (m :: Nat) (n :: Nat). KnownNat m => Finite n -> W m Source #