Safe Haskell | None |
---|---|
Language | Haskell2010 |
A bitset with one interface. This includes the often-encountered case
where {u,v},{v}
, or sets with a single edge between the old set and a new
singleton set are required. Uses are Hamiltonian path problems, and TSP,
among others.
Synopsis
- data BitSet1 i ioc = BitSet1 {}
- boundary :: forall k (i :: k) k (ioc :: k) k (i :: k). Lens (BitSet1 (i :: k) (ioc :: k)) (BitSet1 (i :: k) (ioc :: k)) (Boundary i ioc) (Boundary i ioc)
- bitset :: forall k (i :: k) k (ioc :: k). Lens' (BitSet1 (i :: k) (ioc :: k)) (BitSet ioc)
- streamUpMk :: Monad m => Int -> Int -> z -> m (z, Maybe (BitSet1 c ioc))
- streamUpStep :: Monad m => Int -> Int -> (t, Maybe (BitSet1 c ioc)) -> m (Step (t, Maybe (BitSet1 c ioc)) (t :. BitSet1 c ioc))
- streamDownMk :: Monad m => Int -> Int -> z -> m (z, Maybe (BitSet1 c ioc))
- streamDownStep :: Monad m => Int -> Int -> (t, Maybe (BitSet1 c ioc)) -> m (Step (t, Maybe (BitSet1 c ioc)) (t :. BitSet1 c ioc))
Documentation
The bitset with one interface or boundary.
Instances
boundary :: forall k (i :: k) k (ioc :: k) k (i :: k). Lens (BitSet1 (i :: k) (ioc :: k)) (BitSet1 (i :: k) (ioc :: k)) (Boundary i ioc) (Boundary i ioc) Source #