iota-0.1.0.0
Safe HaskellNone
LanguageGHC2021

Data.Semiring

Documentation

newtype MaxPlus a Source #

Constructors

MaxPlus 

Fields

Instances

Instances details
Unbox a => Vector Vector (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicUnsafeFreeze :: Mutable Vector s (MaxPlus a) -> ST s (Vector (MaxPlus a))

basicUnsafeThaw :: Vector (MaxPlus a) -> ST s (Mutable Vector s (MaxPlus a))

basicLength :: Vector (MaxPlus a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (MaxPlus a) -> Vector (MaxPlus a)

basicUnsafeIndexM :: Vector (MaxPlus a) -> Int -> Box (MaxPlus a)

basicUnsafeCopy :: Mutable Vector s (MaxPlus a) -> Vector (MaxPlus a) -> ST s ()

elemseq :: Vector (MaxPlus a) -> MaxPlus a -> b -> b

Unbox a => MVector MVector (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicLength :: MVector s (MaxPlus a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (MaxPlus a) -> MVector s (MaxPlus a)

basicOverlaps :: MVector s (MaxPlus a) -> MVector s (MaxPlus a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (MaxPlus a))

basicInitialize :: MVector s (MaxPlus a) -> ST s ()

basicUnsafeReplicate :: Int -> MaxPlus a -> ST s (MVector s (MaxPlus a))

basicUnsafeRead :: MVector s (MaxPlus a) -> Int -> ST s (MaxPlus a)

basicUnsafeWrite :: MVector s (MaxPlus a) -> Int -> MaxPlus a -> ST s ()

basicClear :: MVector s (MaxPlus a) -> ST s ()

basicSet :: MVector s (MaxPlus a) -> MaxPlus a -> ST s ()

basicUnsafeCopy :: MVector s (MaxPlus a) -> MVector s (MaxPlus a) -> ST s ()

basicUnsafeMove :: MVector s (MaxPlus a) -> MVector s (MaxPlus a) -> ST s ()

basicUnsafeGrow :: MVector s (MaxPlus a) -> Int -> ST s (MVector s (MaxPlus a))

(Ord a, Bounded a, Num a) => Num (MaxPlus a) Source #
>>> MaxPlus (1 :: Int) - MaxPlus 0
*** Exception: Prelude.undefined
>>> negate (MaxPlus (1 :: Int))
*** Exception: Prelude.undefined
Instance details

Defined in Data.Semiring

Methods

(+) :: MaxPlus a -> MaxPlus a -> MaxPlus a #

(-) :: MaxPlus a -> MaxPlus a -> MaxPlus a #

(*) :: MaxPlus a -> MaxPlus a -> MaxPlus a #

negate :: MaxPlus a -> MaxPlus a #

abs :: MaxPlus a -> MaxPlus a #

signum :: MaxPlus a -> MaxPlus a #

fromInteger :: Integer -> MaxPlus a #

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

Defined in Data.Semiring

Methods

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

show :: MaxPlus a -> String #

showList :: [MaxPlus a] -> ShowS #

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

Defined in Data.Semiring

Methods

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

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

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

Defined in Data.Semiring

Methods

compare :: MaxPlus a -> MaxPlus a -> Ordering #

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

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

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

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

max :: MaxPlus a -> MaxPlus a -> MaxPlus a #

min :: MaxPlus a -> MaxPlus a -> MaxPlus a #

Prim a => Prim (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

Unbox a => Unbox (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (MaxPlus a) = MV_MaxPlus (MVector s a)
newtype Vector (MaxPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype Vector (MaxPlus a) = V_MaxPlus (Vector a)

newtype MinPlus a Source #

Constructors

MinPlus 

Fields

Instances

Instances details
Unbox a => Vector Vector (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicUnsafeFreeze :: Mutable Vector s (MinPlus a) -> ST s (Vector (MinPlus a))

basicUnsafeThaw :: Vector (MinPlus a) -> ST s (Mutable Vector s (MinPlus a))

basicLength :: Vector (MinPlus a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (MinPlus a) -> Vector (MinPlus a)

basicUnsafeIndexM :: Vector (MinPlus a) -> Int -> Box (MinPlus a)

basicUnsafeCopy :: Mutable Vector s (MinPlus a) -> Vector (MinPlus a) -> ST s ()

elemseq :: Vector (MinPlus a) -> MinPlus a -> b -> b

Unbox a => MVector MVector (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicLength :: MVector s (MinPlus a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (MinPlus a) -> MVector s (MinPlus a)

basicOverlaps :: MVector s (MinPlus a) -> MVector s (MinPlus a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (MinPlus a))

basicInitialize :: MVector s (MinPlus a) -> ST s ()

basicUnsafeReplicate :: Int -> MinPlus a -> ST s (MVector s (MinPlus a))

basicUnsafeRead :: MVector s (MinPlus a) -> Int -> ST s (MinPlus a)

basicUnsafeWrite :: MVector s (MinPlus a) -> Int -> MinPlus a -> ST s ()

basicClear :: MVector s (MinPlus a) -> ST s ()

basicSet :: MVector s (MinPlus a) -> MinPlus a -> ST s ()

basicUnsafeCopy :: MVector s (MinPlus a) -> MVector s (MinPlus a) -> ST s ()

basicUnsafeMove :: MVector s (MinPlus a) -> MVector s (MinPlus a) -> ST s ()

basicUnsafeGrow :: MVector s (MinPlus a) -> Int -> ST s (MVector s (MinPlus a))

(Ord a, Bounded a, Num a) => Num (MinPlus a) Source #
>>> MinPlus (1 :: Int) - MinPlus 0
*** Exception: Prelude.undefined
>>> negate (MinPlus (1 :: Int))
*** Exception: Prelude.undefined
Instance details

Defined in Data.Semiring

Methods

(+) :: MinPlus a -> MinPlus a -> MinPlus a #

(-) :: MinPlus a -> MinPlus a -> MinPlus a #

(*) :: MinPlus a -> MinPlus a -> MinPlus a #

negate :: MinPlus a -> MinPlus a #

abs :: MinPlus a -> MinPlus a #

signum :: MinPlus a -> MinPlus a #

fromInteger :: Integer -> MinPlus a #

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

Defined in Data.Semiring

Methods

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

show :: MinPlus a -> String #

showList :: [MinPlus a] -> ShowS #

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

Defined in Data.Semiring

Methods

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

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

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

Defined in Data.Semiring

Methods

compare :: MinPlus a -> MinPlus a -> Ordering #

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

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

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

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

max :: MinPlus a -> MinPlus a -> MinPlus a #

min :: MinPlus a -> MinPlus a -> MinPlus a #

Prim a => Prim (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

Unbox a => Unbox (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (MinPlus a) = MV_MinPlus (MVector s a)
newtype Vector (MinPlus a) Source # 
Instance details

Defined in Data.Semiring

newtype Vector (MinPlus a) = V_MinPlus (Vector a)

newtype XorAnd a Source #

Constructors

XorAnd 

Fields

Instances

Instances details
Unbox a => Vector Vector (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicUnsafeFreeze :: Mutable Vector s (XorAnd a) -> ST s (Vector (XorAnd a))

basicUnsafeThaw :: Vector (XorAnd a) -> ST s (Mutable Vector s (XorAnd a))

basicLength :: Vector (XorAnd a) -> Int

basicUnsafeSlice :: Int -> Int -> Vector (XorAnd a) -> Vector (XorAnd a)

basicUnsafeIndexM :: Vector (XorAnd a) -> Int -> Box (XorAnd a)

basicUnsafeCopy :: Mutable Vector s (XorAnd a) -> Vector (XorAnd a) -> ST s ()

elemseq :: Vector (XorAnd a) -> XorAnd a -> b -> b

Unbox a => MVector MVector (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

Methods

basicLength :: MVector s (XorAnd a) -> Int

basicUnsafeSlice :: Int -> Int -> MVector s (XorAnd a) -> MVector s (XorAnd a)

basicOverlaps :: MVector s (XorAnd a) -> MVector s (XorAnd a) -> Bool

basicUnsafeNew :: Int -> ST s (MVector s (XorAnd a))

basicInitialize :: MVector s (XorAnd a) -> ST s ()

basicUnsafeReplicate :: Int -> XorAnd a -> ST s (MVector s (XorAnd a))

basicUnsafeRead :: MVector s (XorAnd a) -> Int -> ST s (XorAnd a)

basicUnsafeWrite :: MVector s (XorAnd a) -> Int -> XorAnd a -> ST s ()

basicClear :: MVector s (XorAnd a) -> ST s ()

basicSet :: MVector s (XorAnd a) -> XorAnd a -> ST s ()

basicUnsafeCopy :: MVector s (XorAnd a) -> MVector s (XorAnd a) -> ST s ()

basicUnsafeMove :: MVector s (XorAnd a) -> MVector s (XorAnd a) -> ST s ()

basicUnsafeGrow :: MVector s (XorAnd a) -> Int -> ST s (MVector s (XorAnd a))

Bits a => Bits (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

Methods

(.&.) :: XorAnd a -> XorAnd a -> XorAnd a #

(.|.) :: XorAnd a -> XorAnd a -> XorAnd a #

xor :: XorAnd a -> XorAnd a -> XorAnd a #

complement :: XorAnd a -> XorAnd a #

shift :: XorAnd a -> Int -> XorAnd a #

rotate :: XorAnd a -> Int -> XorAnd a #

zeroBits :: XorAnd a #

bit :: Int -> XorAnd a #

setBit :: XorAnd a -> Int -> XorAnd a #

clearBit :: XorAnd a -> Int -> XorAnd a #

complementBit :: XorAnd a -> Int -> XorAnd a #

testBit :: XorAnd a -> Int -> Bool #

bitSizeMaybe :: XorAnd a -> Maybe Int #

bitSize :: XorAnd a -> Int #

isSigned :: XorAnd a -> Bool #

shiftL :: XorAnd a -> Int -> XorAnd a #

unsafeShiftL :: XorAnd a -> Int -> XorAnd a #

shiftR :: XorAnd a -> Int -> XorAnd a #

unsafeShiftR :: XorAnd a -> Int -> XorAnd a #

rotateL :: XorAnd a -> Int -> XorAnd a #

rotateR :: XorAnd a -> Int -> XorAnd a #

popCount :: XorAnd a -> Int #

Bits a => Num (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

Methods

(+) :: XorAnd a -> XorAnd a -> XorAnd a #

(-) :: XorAnd a -> XorAnd a -> XorAnd a #

(*) :: XorAnd a -> XorAnd a -> XorAnd a #

negate :: XorAnd a -> XorAnd a #

abs :: XorAnd a -> XorAnd a #

signum :: XorAnd a -> XorAnd a #

fromInteger :: Integer -> XorAnd a #

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

Defined in Data.Semiring

Methods

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

show :: XorAnd a -> String #

showList :: [XorAnd a] -> ShowS #

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

Defined in Data.Semiring

Methods

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

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

Prim a => Prim (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

Unbox a => Unbox (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

newtype MVector s (XorAnd a) = MV_XorAnd (MVector s a)
newtype Vector (XorAnd a) Source # 
Instance details

Defined in Data.Semiring

newtype Vector (XorAnd a) = V_XorAnd (Vector a)