iota-0.1.0.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.Lattice

Documentation

class Poset a where Source #

Minimal complete definition

(.<.), moebius

Methods

(.<.) :: a -> a -> Bool infix 4 Source #

zeta :: Integral i => a -> a -> i Source #

moebius :: Integral i => a -> a -> i Source #

Instances

Instances details
Integral a => Poset (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: DivOrd a -> DivOrd a -> Bool Source #

zeta :: Integral i => DivOrd a -> DivOrd a -> i Source #

moebius :: Integral i => DivOrd a -> DivOrd a -> i Source #

(Integral a, Ord a) => Poset (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: NatOrd a -> NatOrd a -> Bool Source #

zeta :: Integral i => NatOrd a -> NatOrd a -> i Source #

moebius :: Integral i => NatOrd a -> NatOrd a -> i Source #

Bits a => Poset (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: SetOrd a -> SetOrd a -> Bool Source #

zeta :: Integral i => SetOrd a -> SetOrd a -> i Source #

moebius :: Integral i => SetOrd a -> SetOrd a -> i Source #

class Lattice a where Source #

Methods

(/\) :: a -> a -> a Source #

(\/) :: a -> a -> a Source #

Instances

Instances details
Integral a => Lattice (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: DivOrd a -> DivOrd a -> DivOrd a Source #

(\/) :: DivOrd a -> DivOrd a -> DivOrd a Source #

Ord a => Lattice (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: NatOrd a -> NatOrd a -> NatOrd a Source #

(\/) :: NatOrd a -> NatOrd a -> NatOrd a Source #

Bits a => Lattice (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: SetOrd a -> SetOrd a -> SetOrd a Source #

(\/) :: SetOrd a -> SetOrd a -> SetOrd a Source #

class FastZetaMoebius f where Source #

Associated Types

type Dim f Source #

Methods

fastZeta :: (Num a, Unbox a, PrimMonad m) => (Int -> f Int) -> Dim f -> MVector (PrimState m) a -> m () Source #

fastMoebius :: (Num a, Unbox a, PrimMonad m) => (Int -> f Int) -> Dim f -> MVector (PrimState m) a -> m () Source #

Instances

Instances details
FastZetaMoebius DivOrd Source # 
Instance details

Defined in Data.Lattice

Associated Types

type Dim DivOrd Source #

Methods

fastZeta :: (Num a, Unbox a, PrimMonad m) => (Int -> DivOrd Int) -> Dim DivOrd -> MVector (PrimState m) a -> m () Source #

fastMoebius :: (Num a, Unbox a, PrimMonad m) => (Int -> DivOrd Int) -> Dim DivOrd -> MVector (PrimState m) a -> m () Source #

FastZetaMoebius SetOrd Source # 
Instance details

Defined in Data.Lattice

Associated Types

type Dim SetOrd Source #

Methods

fastZeta :: (Num a, Unbox a, PrimMonad m) => (Int -> SetOrd Int) -> Dim SetOrd -> MVector (PrimState m) a -> m () Source #

fastMoebius :: (Num a, Unbox a, PrimMonad m) => (Int -> SetOrd Int) -> Dim SetOrd -> MVector (PrimState m) a -> m () Source #

newtype NatOrd a Source #

Constructors

NatOrd 

Fields

Instances

Instances details
Show a => Show (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

showsPrec :: Int -> NatOrd a -> ShowS #

show :: NatOrd a -> String #

showList :: [NatOrd a] -> ShowS #

Eq a => Eq (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(==) :: NatOrd a -> NatOrd a -> Bool #

(/=) :: NatOrd a -> NatOrd a -> Bool #

Ord a => Ord (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

compare :: NatOrd a -> NatOrd a -> Ordering #

(<) :: NatOrd a -> NatOrd a -> Bool #

(<=) :: NatOrd a -> NatOrd a -> Bool #

(>) :: NatOrd a -> NatOrd a -> Bool #

(>=) :: NatOrd a -> NatOrd a -> Bool #

max :: NatOrd a -> NatOrd a -> NatOrd a #

min :: NatOrd a -> NatOrd a -> NatOrd a #

Ord a => Lattice (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: NatOrd a -> NatOrd a -> NatOrd a Source #

(\/) :: NatOrd a -> NatOrd a -> NatOrd a Source #

(Integral a, Ord a) => Poset (NatOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: NatOrd a -> NatOrd a -> Bool Source #

zeta :: Integral i => NatOrd a -> NatOrd a -> i Source #

moebius :: Integral i => NatOrd a -> NatOrd a -> i Source #

newtype DivOrd a Source #

Constructors

DivOrd 

Fields

Instances

Instances details
FastZetaMoebius DivOrd Source # 
Instance details

Defined in Data.Lattice

Associated Types

type Dim DivOrd Source #

Methods

fastZeta :: (Num a, Unbox a, PrimMonad m) => (Int -> DivOrd Int) -> Dim DivOrd -> MVector (PrimState m) a -> m () Source #

fastMoebius :: (Num a, Unbox a, PrimMonad m) => (Int -> DivOrd Int) -> Dim DivOrd -> MVector (PrimState m) a -> m () Source #

Show a => Show (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

showsPrec :: Int -> DivOrd a -> ShowS #

show :: DivOrd a -> String #

showList :: [DivOrd a] -> ShowS #

Eq a => Eq (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(==) :: DivOrd a -> DivOrd a -> Bool #

(/=) :: DivOrd a -> DivOrd a -> Bool #

Integral a => Lattice (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: DivOrd a -> DivOrd a -> DivOrd a Source #

(\/) :: DivOrd a -> DivOrd a -> DivOrd a Source #

Integral a => Poset (DivOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: DivOrd a -> DivOrd a -> Bool Source #

zeta :: Integral i => DivOrd a -> DivOrd a -> i Source #

moebius :: Integral i => DivOrd a -> DivOrd a -> i Source #

type Dim DivOrd Source # 
Instance details

Defined in Data.Lattice

type Dim DivOrd = Vector Int

newtype SetOrd a Source #

Constructors

SetOrd 

Fields

Instances

Instances details
FastZetaMoebius SetOrd Source # 
Instance details

Defined in Data.Lattice

Associated Types

type Dim SetOrd Source #

Methods

fastZeta :: (Num a, Unbox a, PrimMonad m) => (Int -> SetOrd Int) -> Dim SetOrd -> MVector (PrimState m) a -> m () Source #

fastMoebius :: (Num a, Unbox a, PrimMonad m) => (Int -> SetOrd Int) -> Dim SetOrd -> MVector (PrimState m) a -> m () Source #

Show a => Show (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

showsPrec :: Int -> SetOrd a -> ShowS #

show :: SetOrd a -> String #

showList :: [SetOrd a] -> ShowS #

Eq a => Eq (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(==) :: SetOrd a -> SetOrd a -> Bool #

(/=) :: SetOrd a -> SetOrd a -> Bool #

Bits a => Lattice (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(/\) :: SetOrd a -> SetOrd a -> SetOrd a Source #

(\/) :: SetOrd a -> SetOrd a -> SetOrd a Source #

Bits a => Poset (SetOrd a) Source # 
Instance details

Defined in Data.Lattice

Methods

(.<.) :: SetOrd a -> SetOrd a -> Bool Source #

zeta :: Integral i => SetOrd a -> SetOrd a -> i Source #

moebius :: Integral i => SetOrd a -> SetOrd a -> i Source #

type Dim SetOrd Source # 
Instance details

Defined in Data.Lattice

type Dim SetOrd = Int