module Data.Neighborhood.Hex where import Prelude hiding (Eq, Ord (..)) import qualified Prelude import Relation.Binary.Comparison as A data Nbhd = N0 | N1 | N2o | N2m | N2p | N3v | N3a | N3s | N4o | N4m | N4p | N5 | N6 deriving (Prelude.Eq, Show, Enum) instance PartialEq Nbhd where (≡) = (==) instance Eq Nbhd instance Preord Nbhd where N0 ≤ _ = True _ ≤ N0 = False _ ≤ N6 = True N6 ≤ _ = False N1 ≤ _ = True _ ≤ N1 = False _ ≤ N5 = True N5 ≤ _ = False N2o ≤ N2m = False N2o ≤ N2p = False N2o ≤ _ = True N2m ≤ N2o = False N2m ≤ N2p = False N2m ≤ _ = True N2p ≤ N2o = False N2p ≤ N2m = False N2p ≤ N3v = False N2p ≤ N3s = False N2p ≤ _ = True N3v ≤ N3v = True N3v ≤ N4o = True N3v ≤ N4m = True N3v ≤ _ = False N3a ≤ N3a = True N3a ≤ N4o = True N3a ≤ N4m = True N3a ≤ N4p = True N3a ≤ _ = True N3s ≤ N3s = True N3s ≤ N4m = True N3s ≤ _ = False _ ≤ _ = False instance PartialOrd Nbhd