-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Zobrist keys for game state tracking -- -- ZCache provides zobrist key generation for perfect information games. -- It also includes convenience data structures (maps and sets) that use -- zobrist keys internally. @package zcache @version 0.0.0 -- | Zobrist keys compactly represent the state of perfect information -- games. module Data.ZCache -- | Sets of board states, indexed by zobrist keys data ZSet a ZSet :: Word64 -> (ZArray a) -> (Set Word64) -> ZSet a -- | Maps from board states, indexed by zobrist keys data ZMap k v ZMap :: Word64 -> (ZArray k) -> (Map Word64 v) -> ZMap k v -- | Construct a ZSet zSet :: Ix a => Word64 -> (a, a) -> Int -> ZSet a -- | Construct a ZMap zMap :: Ix a => Word64 -> (a, a) -> Int -> ZMap a b flipPos :: Ix a => a -> ZSet a -> Maybe (ZSet a) -- | Create the internal array used for the zobrist key creation zArray :: Ix a => Word64 -> (a, a) -> Int -> ZArray a instance (Eq v, Ix k) => Eq (ZMap k v) instance (Show k, Show v, Ix k) => Show (ZMap k v) instance Ix a => Eq (ZSet a) instance (Show a, Ix a) => Show (ZSet a)