semiring-num-1.6.0.4: Basic semiring class and instances

LicenseMIT
Maintainermail@doisinkidney.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Data.Semiring.Numeric

Description

 
Synopsis

Documentation

newtype Bottleneck a Source #

Useful for some constraint problems.

(<+>) = max
(<.>) = min
zero  = minBound
one   = maxBound

Constructors

Bottleneck 

Fields

Instances
Functor Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> Bottleneck a -> Bottleneck b #

(<$) :: a -> Bottleneck b -> Bottleneck a #

Foldable Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => Bottleneck m -> m #

foldMap :: Monoid m => (a -> m) -> Bottleneck a -> m #

foldr :: (a -> b -> b) -> b -> Bottleneck a -> b #

foldr' :: (a -> b -> b) -> b -> Bottleneck a -> b #

foldl :: (b -> a -> b) -> b -> Bottleneck a -> b #

foldl' :: (b -> a -> b) -> b -> Bottleneck a -> b #

foldr1 :: (a -> a -> a) -> Bottleneck a -> a #

foldl1 :: (a -> a -> a) -> Bottleneck a -> a #

toList :: Bottleneck a -> [a] #

null :: Bottleneck a -> Bool #

length :: Bottleneck a -> Int #

elem :: Eq a => a -> Bottleneck a -> Bool #

maximum :: Ord a => Bottleneck a -> a #

minimum :: Ord a => Bottleneck a -> a #

sum :: Num a => Bottleneck a -> a #

product :: Num a => Bottleneck a -> a #

Traversable Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> Bottleneck a -> f (Bottleneck b) #

sequenceA :: Applicative f => Bottleneck (f a) -> f (Bottleneck a) #

mapM :: Monad m => (a -> m b) -> Bottleneck a -> m (Bottleneck b) #

sequence :: Monad m => Bottleneck (m a) -> m (Bottleneck a) #

Eq1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> Bottleneck a -> Bottleneck b -> Bool #

Ord1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> Bottleneck a -> Bottleneck b -> Ordering #

Read1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Show1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Bottleneck a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Bottleneck a] -> ShowS #

Unbox a => Vector Vector (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Bounded a => Bounded (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Enum a => Enum (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Methods

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

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

Fractional a => Fractional (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Num a => Num (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Read a => Read (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

RealFrac a => RealFrac (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

properFraction :: Integral b => Bottleneck a -> (b, Bottleneck a) #

truncate :: Integral b => Bottleneck a -> b #

round :: Integral b => Bottleneck a -> b #

ceiling :: Integral b => Bottleneck a -> b #

floor :: Integral b => Bottleneck a -> b #

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

Defined in Data.Semiring.Numeric

Generic (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (Bottleneck a) :: Type -> Type #

Methods

from :: Bottleneck a -> Rep (Bottleneck a) x #

to :: Rep (Bottleneck a) x -> Bottleneck a #

Storable a => Storable (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

sizeOf :: Bottleneck a -> Int #

alignment :: Bottleneck a -> Int #

peekElemOff :: Ptr (Bottleneck a) -> Int -> IO (Bottleneck a) #

pokeElemOff :: Ptr (Bottleneck a) -> Int -> Bottleneck a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Bottleneck a) #

pokeByteOff :: Ptr b -> Int -> Bottleneck a -> IO () #

peek :: Ptr (Bottleneck a) -> IO (Bottleneck a) #

poke :: Ptr (Bottleneck a) -> Bottleneck a -> IO () #

NFData a => NFData (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: Bottleneck a -> () #

(Bounded a, Ord a) => DetectableZero (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

isZero :: Bottleneck a -> Bool Source #

(Bounded a, Ord a) => Semiring (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Generic1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 Bottleneck :: k -> Type #

newtype MVector s (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype MVector s (Bottleneck a) = MV_Bottleneck (MVector s a)
type Rep (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (Bottleneck a) = D1 (MetaData "Bottleneck" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Bottleneck" PrefixI True) (S1 (MetaSel (Just "getBottleneck") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (Bottleneck a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Bottleneck Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Bottleneck = D1 (MetaData "Bottleneck" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Bottleneck" PrefixI True) (S1 (MetaSel (Just "getBottleneck") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype Division a Source #

Positive numbers only.

(<+>) = gcd
(<.>) = lcm
zero  = zero
one   = one

Constructors

Division 

Fields

Instances
Functor Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> Division a -> Division b #

(<$) :: a -> Division b -> Division a #

Foldable Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => Division m -> m #

foldMap :: Monoid m => (a -> m) -> Division a -> m #

foldr :: (a -> b -> b) -> b -> Division a -> b #

foldr' :: (a -> b -> b) -> b -> Division a -> b #

foldl :: (b -> a -> b) -> b -> Division a -> b #

foldl' :: (b -> a -> b) -> b -> Division a -> b #

foldr1 :: (a -> a -> a) -> Division a -> a #

foldl1 :: (a -> a -> a) -> Division a -> a #

toList :: Division a -> [a] #

null :: Division a -> Bool #

length :: Division a -> Int #

elem :: Eq a => a -> Division a -> Bool #

maximum :: Ord a => Division a -> a #

minimum :: Ord a => Division a -> a #

sum :: Num a => Division a -> a #

product :: Num a => Division a -> a #

Traversable Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> Division a -> f (Division b) #

sequenceA :: Applicative f => Division (f a) -> f (Division a) #

mapM :: Monad m => (a -> m b) -> Division a -> m (Division b) #

sequence :: Monad m => Division (m a) -> m (Division a) #

Eq1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> Division a -> Division b -> Bool #

Ord1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> Division a -> Division b -> Ordering #

Read1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Division a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Division a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Division a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Division a] #

Show1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Division a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Division a] -> ShowS #

Unbox a => Vector Vector (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Bounded a => Bounded (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Enum a => Enum (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Methods

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

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

Fractional a => Fractional (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Num a => Num (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Methods

compare :: Division a -> Division a -> Ordering #

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

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

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

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

max :: Division a -> Division a -> Division a #

min :: Division a -> Division a -> Division a #

Read a => Read (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

toRational :: Division a -> Rational #

RealFrac a => RealFrac (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

properFraction :: Integral b => Division a -> (b, Division a) #

truncate :: Integral b => Division a -> b #

round :: Integral b => Division a -> b #

ceiling :: Integral b => Division a -> b #

floor :: Integral b => Division a -> b #

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

Defined in Data.Semiring.Numeric

Methods

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

show :: Division a -> String #

showList :: [Division a] -> ShowS #

Generic (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (Division a) :: Type -> Type #

Methods

from :: Division a -> Rep (Division a) x #

to :: Rep (Division a) x -> Division a #

Storable a => Storable (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

sizeOf :: Division a -> Int #

alignment :: Division a -> Int #

peekElemOff :: Ptr (Division a) -> Int -> IO (Division a) #

pokeElemOff :: Ptr (Division a) -> Int -> Division a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Division a) #

pokeByteOff :: Ptr b -> Int -> Division a -> IO () #

peek :: Ptr (Division a) -> IO (Division a) #

poke :: Ptr (Division a) -> Division a -> IO () #

NFData a => NFData (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: Division a -> () #

(DetectableZero a, Integral a) => DetectableZero (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

isZero :: Division a -> Bool Source #

(Integral a, Semiring a) => Semiring (Division a) Source #

Only expects positive numbers

Instance details

Defined in Data.Semiring.Numeric

Generic1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 Division :: k -> Type #

Methods

from1 :: Division a -> Rep1 Division a #

to1 :: Rep1 Division a -> Division a #

newtype MVector s (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype MVector s (Division a) = MV_Division (MVector s a)
type Rep (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (Division a) = D1 (MetaData "Division" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Division" PrefixI True) (S1 (MetaSel (Just "getDivision") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (Division a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype Vector (Division a) = V_Division (Vector a)
type Rep1 Division Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Division = D1 (MetaData "Division" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Division" PrefixI True) (S1 (MetaSel (Just "getDivision") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype Łukasiewicz a Source #

Wikipedia has some information on this. Also this paper.

(<+>)   = max
x <.> y = max 0 (x + y - 1)
zero    = zero
one     = one

Constructors

Łukasiewicz 

Fields

Instances
Functor Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> Łukasiewicz a -> Łukasiewicz b #

(<$) :: a -> Łukasiewicz b -> Łukasiewicz a #

Foldable Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => Łukasiewicz m -> m #

foldMap :: Monoid m => (a -> m) -> Łukasiewicz a -> m #

foldr :: (a -> b -> b) -> b -> Łukasiewicz a -> b #

foldr' :: (a -> b -> b) -> b -> Łukasiewicz a -> b #

foldl :: (b -> a -> b) -> b -> Łukasiewicz a -> b #

foldl' :: (b -> a -> b) -> b -> Łukasiewicz a -> b #

foldr1 :: (a -> a -> a) -> Łukasiewicz a -> a #

foldl1 :: (a -> a -> a) -> Łukasiewicz a -> a #

toList :: Łukasiewicz a -> [a] #

null :: Łukasiewicz a -> Bool #

length :: Łukasiewicz a -> Int #

elem :: Eq a => a -> Łukasiewicz a -> Bool #

maximum :: Ord a => Łukasiewicz a -> a #

minimum :: Ord a => Łukasiewicz a -> a #

sum :: Num a => Łukasiewicz a -> a #

product :: Num a => Łukasiewicz a -> a #

Traversable Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> Łukasiewicz a -> f (Łukasiewicz b) #

sequenceA :: Applicative f => Łukasiewicz (f a) -> f (Łukasiewicz a) #

mapM :: Monad m => (a -> m b) -> Łukasiewicz a -> m (Łukasiewicz b) #

sequence :: Monad m => Łukasiewicz (m a) -> m (Łukasiewicz a) #

Eq1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> Łukasiewicz a -> Łukasiewicz b -> Bool #

Ord1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> Łukasiewicz a -> Łukasiewicz b -> Ordering #

Read1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Show1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Łukasiewicz a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Łukasiewicz a] -> ShowS #

Unbox a => Vector Vector (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Unbox a => MVector MVector (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Bounded a => Bounded (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Enum a => Enum (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Eq a => Eq (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Fractional a => Fractional (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Num a => Num (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Ord a => Ord (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Read a => Read (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

RealFrac a => RealFrac (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Show a => Show (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Generic (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (Łukasiewicz a) :: Type -> Type #

Methods

from :: Łukasiewicz a -> Rep (Łukasiewicz a) x #

to :: Rep (Łukasiewicz a) x -> Łukasiewicz a #

Storable a => Storable (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

NFData a => NFData (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: Łukasiewicz a -> () #

(Ord a, Num a) => DetectableZero (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

(Ord a, Num a) => Semiring (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Generic1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 Łukasiewicz :: k -> Type #

newtype MVector s (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (Łukasiewicz a) = D1 (MetaData "\321ukasiewicz" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "\321ukasiewicz" PrefixI True) (S1 (MetaSel (Just "get\321ukasiewicz") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (Łukasiewicz a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Łukasiewicz Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Łukasiewicz = D1 (MetaData "\321ukasiewicz" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "\321ukasiewicz" PrefixI True) (S1 (MetaSel (Just "get\321ukasiewicz") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype Viterbi a Source #

Wikipedia has some information on this. Also this paper. Apparently used for probabilistic parsing.

(<+>) = max
(<.>) = (<.>)
zero  = zero
one   = one

Constructors

Viterbi 

Fields

Instances
Functor Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> Viterbi a -> Viterbi b #

(<$) :: a -> Viterbi b -> Viterbi a #

Foldable Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => Viterbi m -> m #

foldMap :: Monoid m => (a -> m) -> Viterbi a -> m #

foldr :: (a -> b -> b) -> b -> Viterbi a -> b #

foldr' :: (a -> b -> b) -> b -> Viterbi a -> b #

foldl :: (b -> a -> b) -> b -> Viterbi a -> b #

foldl' :: (b -> a -> b) -> b -> Viterbi a -> b #

foldr1 :: (a -> a -> a) -> Viterbi a -> a #

foldl1 :: (a -> a -> a) -> Viterbi a -> a #

toList :: Viterbi a -> [a] #

null :: Viterbi a -> Bool #

length :: Viterbi a -> Int #

elem :: Eq a => a -> Viterbi a -> Bool #

maximum :: Ord a => Viterbi a -> a #

minimum :: Ord a => Viterbi a -> a #

sum :: Num a => Viterbi a -> a #

product :: Num a => Viterbi a -> a #

Traversable Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> Viterbi a -> f (Viterbi b) #

sequenceA :: Applicative f => Viterbi (f a) -> f (Viterbi a) #

mapM :: Monad m => (a -> m b) -> Viterbi a -> m (Viterbi b) #

sequence :: Monad m => Viterbi (m a) -> m (Viterbi a) #

Eq1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> Viterbi a -> Viterbi b -> Bool #

Ord1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> Viterbi a -> Viterbi b -> Ordering #

Read1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Viterbi a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Viterbi a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Viterbi a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Viterbi a] #

Show1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Viterbi a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Viterbi a] -> ShowS #

Unbox a => Vector Vector (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

Bounded a => Bounded (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Enum a => Enum (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

succ :: Viterbi a -> Viterbi a #

pred :: Viterbi a -> Viterbi a #

toEnum :: Int -> Viterbi a #

fromEnum :: Viterbi a -> Int #

enumFrom :: Viterbi a -> [Viterbi a] #

enumFromThen :: Viterbi a -> Viterbi a -> [Viterbi a] #

enumFromTo :: Viterbi a -> Viterbi a -> [Viterbi a] #

enumFromThenTo :: Viterbi a -> Viterbi a -> Viterbi a -> [Viterbi a] #

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

Defined in Data.Semiring.Numeric

Methods

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

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

Fractional a => Fractional (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

(/) :: Viterbi a -> Viterbi a -> Viterbi a #

recip :: Viterbi a -> Viterbi a #

fromRational :: Rational -> Viterbi a #

Num a => Num (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

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

(-) :: Viterbi a -> Viterbi a -> Viterbi a #

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

negate :: Viterbi a -> Viterbi a #

abs :: Viterbi a -> Viterbi a #

signum :: Viterbi a -> Viterbi a #

fromInteger :: Integer -> Viterbi a #

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

Defined in Data.Semiring.Numeric

Methods

compare :: Viterbi a -> Viterbi a -> Ordering #

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

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

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

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

max :: Viterbi a -> Viterbi a -> Viterbi a #

min :: Viterbi a -> Viterbi a -> Viterbi a #

Read a => Read (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

toRational :: Viterbi a -> Rational #

RealFrac a => RealFrac (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

properFraction :: Integral b => Viterbi a -> (b, Viterbi a) #

truncate :: Integral b => Viterbi a -> b #

round :: Integral b => Viterbi a -> b #

ceiling :: Integral b => Viterbi a -> b #

floor :: Integral b => Viterbi a -> b #

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

Defined in Data.Semiring.Numeric

Methods

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

show :: Viterbi a -> String #

showList :: [Viterbi a] -> ShowS #

Generic (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (Viterbi a) :: Type -> Type #

Methods

from :: Viterbi a -> Rep (Viterbi a) x #

to :: Rep (Viterbi a) x -> Viterbi a #

Storable a => Storable (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

sizeOf :: Viterbi a -> Int #

alignment :: Viterbi a -> Int #

peekElemOff :: Ptr (Viterbi a) -> Int -> IO (Viterbi a) #

pokeElemOff :: Ptr (Viterbi a) -> Int -> Viterbi a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (Viterbi a) #

pokeByteOff :: Ptr b -> Int -> Viterbi a -> IO () #

peek :: Ptr (Viterbi a) -> IO (Viterbi a) #

poke :: Ptr (Viterbi a) -> Viterbi a -> IO () #

NFData a => NFData (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: Viterbi a -> () #

(DetectableZero a, Ord a) => DetectableZero (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

isZero :: Viterbi a -> Bool Source #

(Ord a, Semiring a) => Semiring (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Generic1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 Viterbi :: k -> Type #

Methods

from1 :: Viterbi a -> Rep1 Viterbi a #

to1 :: Rep1 Viterbi a -> Viterbi a #

newtype MVector s (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype MVector s (Viterbi a) = MV_Viterbi (MVector s a)
type Rep (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (Viterbi a) = D1 (MetaData "Viterbi" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Viterbi" PrefixI True) (S1 (MetaSel (Just "getViterbi") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (Viterbi a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype Vector (Viterbi a) = V_Viterbi (Vector a)
type Rep1 Viterbi Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 Viterbi = D1 (MetaData "Viterbi" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "Viterbi" PrefixI True) (S1 (MetaSel (Just "getViterbi") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype PosFrac a Source #

Adds a star operation to fractional types.

(<+>)  = (<+>)
(<.>)  = (<.>)
zero   = zero
one    = one
star x = if x < 1 then 1 / (1 - x) else positiveInfinity

Constructors

PosFrac 

Fields

Instances
Functor PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> PosFrac a -> PosFrac b #

(<$) :: a -> PosFrac b -> PosFrac a #

Foldable PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => PosFrac m -> m #

foldMap :: Monoid m => (a -> m) -> PosFrac a -> m #

foldr :: (a -> b -> b) -> b -> PosFrac a -> b #

foldr' :: (a -> b -> b) -> b -> PosFrac a -> b #

foldl :: (b -> a -> b) -> b -> PosFrac a -> b #

foldl' :: (b -> a -> b) -> b -> PosFrac a -> b #

foldr1 :: (a -> a -> a) -> PosFrac a -> a #

foldl1 :: (a -> a -> a) -> PosFrac a -> a #

toList :: PosFrac a -> [a] #

null :: PosFrac a -> Bool #

length :: PosFrac a -> Int #

elem :: Eq a => a -> PosFrac a -> Bool #

maximum :: Ord a => PosFrac a -> a #

minimum :: Ord a => PosFrac a -> a #

sum :: Num a => PosFrac a -> a #

product :: Num a => PosFrac a -> a #

Traversable PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> PosFrac a -> f (PosFrac b) #

sequenceA :: Applicative f => PosFrac (f a) -> f (PosFrac a) #

mapM :: Monad m => (a -> m b) -> PosFrac a -> m (PosFrac b) #

sequence :: Monad m => PosFrac (m a) -> m (PosFrac a) #

Eq1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> PosFrac a -> PosFrac b -> Bool #

Ord1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> PosFrac a -> PosFrac b -> Ordering #

Read1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PosFrac a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [PosFrac a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (PosFrac a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [PosFrac a] #

Show1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> PosFrac a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [PosFrac a] -> ShowS #

Unbox a => Vector Vector (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

(Bounded a, Semiring a) => Bounded (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Enum a => Enum (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

succ :: PosFrac a -> PosFrac a #

pred :: PosFrac a -> PosFrac a #

toEnum :: Int -> PosFrac a #

fromEnum :: PosFrac a -> Int #

enumFrom :: PosFrac a -> [PosFrac a] #

enumFromThen :: PosFrac a -> PosFrac a -> [PosFrac a] #

enumFromTo :: PosFrac a -> PosFrac a -> [PosFrac a] #

enumFromThenTo :: PosFrac a -> PosFrac a -> PosFrac a -> [PosFrac a] #

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

Defined in Data.Semiring.Numeric

Methods

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

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

Fractional a => Fractional (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

(/) :: PosFrac a -> PosFrac a -> PosFrac a #

recip :: PosFrac a -> PosFrac a #

fromRational :: Rational -> PosFrac a #

Num a => Num (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

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

(-) :: PosFrac a -> PosFrac a -> PosFrac a #

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

negate :: PosFrac a -> PosFrac a #

abs :: PosFrac a -> PosFrac a #

signum :: PosFrac a -> PosFrac a #

fromInteger :: Integer -> PosFrac a #

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

Defined in Data.Semiring.Numeric

Methods

compare :: PosFrac a -> PosFrac a -> Ordering #

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

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

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

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

max :: PosFrac a -> PosFrac a -> PosFrac a #

min :: PosFrac a -> PosFrac a -> PosFrac a #

Read a => Read (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

toRational :: PosFrac a -> Rational #

RealFrac a => RealFrac (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

properFraction :: Integral b => PosFrac a -> (b, PosFrac a) #

truncate :: Integral b => PosFrac a -> b #

round :: Integral b => PosFrac a -> b #

ceiling :: Integral b => PosFrac a -> b #

floor :: Integral b => PosFrac a -> b #

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

Defined in Data.Semiring.Numeric

Methods

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

show :: PosFrac a -> String #

showList :: [PosFrac a] -> ShowS #

Generic (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (PosFrac a) :: Type -> Type #

Methods

from :: PosFrac a -> Rep (PosFrac a) x #

to :: Rep (PosFrac a) x -> PosFrac a #

Storable a => Storable (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

sizeOf :: PosFrac a -> Int #

alignment :: PosFrac a -> Int #

peekElemOff :: Ptr (PosFrac a) -> Int -> IO (PosFrac a) #

pokeElemOff :: Ptr (PosFrac a) -> Int -> PosFrac a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (PosFrac a) #

pokeByteOff :: Ptr b -> Int -> PosFrac a -> IO () #

peek :: Ptr (PosFrac a) -> IO (PosFrac a) #

poke :: Ptr (PosFrac a) -> PosFrac a -> IO () #

NFData a => NFData (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: PosFrac a -> () #

DetectableZero a => DetectableZero (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

isZero :: PosFrac a -> Bool Source #

(Ord a, Fractional a, Semiring a, HasPositiveInfinity a) => StarSemiring (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

star :: PosFrac a -> PosFrac a Source #

plus :: PosFrac a -> PosFrac a Source #

Semiring a => Semiring (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Generic1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 PosFrac :: k -> Type #

Methods

from1 :: PosFrac a -> Rep1 PosFrac a #

to1 :: Rep1 PosFrac a -> PosFrac a #

newtype MVector s (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype MVector s (PosFrac a) = MV_PosFrac (MVector s a)
type Rep (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (PosFrac a) = D1 (MetaData "PosFrac" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "PosFrac" PrefixI True) (S1 (MetaSel (Just "getPosFrac") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (PosFrac a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype Vector (PosFrac a) = V_PosFrac (Vector a)
type Rep1 PosFrac Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 PosFrac = D1 (MetaData "PosFrac" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "PosFrac" PrefixI True) (S1 (MetaSel (Just "getPosFrac") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))

newtype PosInt a Source #

Adds a star operation to integral types.

(<+>)  = (<+>)
(<.>)  = (<.>)
zero   = zero
one    = one
star 0 = 1
star _ = positiveInfinity

Constructors

PosInt 

Fields

Instances
Functor PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fmap :: (a -> b) -> PosInt a -> PosInt b #

(<$) :: a -> PosInt b -> PosInt a #

Foldable PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

fold :: Monoid m => PosInt m -> m #

foldMap :: Monoid m => (a -> m) -> PosInt a -> m #

foldr :: (a -> b -> b) -> b -> PosInt a -> b #

foldr' :: (a -> b -> b) -> b -> PosInt a -> b #

foldl :: (b -> a -> b) -> b -> PosInt a -> b #

foldl' :: (b -> a -> b) -> b -> PosInt a -> b #

foldr1 :: (a -> a -> a) -> PosInt a -> a #

foldl1 :: (a -> a -> a) -> PosInt a -> a #

toList :: PosInt a -> [a] #

null :: PosInt a -> Bool #

length :: PosInt a -> Int #

elem :: Eq a => a -> PosInt a -> Bool #

maximum :: Ord a => PosInt a -> a #

minimum :: Ord a => PosInt a -> a #

sum :: Num a => PosInt a -> a #

product :: Num a => PosInt a -> a #

Traversable PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

traverse :: Applicative f => (a -> f b) -> PosInt a -> f (PosInt b) #

sequenceA :: Applicative f => PosInt (f a) -> f (PosInt a) #

mapM :: Monad m => (a -> m b) -> PosInt a -> m (PosInt b) #

sequence :: Monad m => PosInt (m a) -> m (PosInt a) #

Eq1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftEq :: (a -> b -> Bool) -> PosInt a -> PosInt b -> Bool #

Ord1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftCompare :: (a -> b -> Ordering) -> PosInt a -> PosInt b -> Ordering #

Read1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (PosInt a) #

liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [PosInt a] #

liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (PosInt a) #

liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [PosInt a] #

Show1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> PosInt a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [PosInt a] -> ShowS #

Unbox a => Vector Vector (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

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

Defined in Data.Semiring.Numeric

(Bounded a, Semiring a) => Bounded (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

minBound :: PosInt a #

maxBound :: PosInt a #

Enum a => Enum (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

succ :: PosInt a -> PosInt a #

pred :: PosInt a -> PosInt a #

toEnum :: Int -> PosInt a #

fromEnum :: PosInt a -> Int #

enumFrom :: PosInt a -> [PosInt a] #

enumFromThen :: PosInt a -> PosInt a -> [PosInt a] #

enumFromTo :: PosInt a -> PosInt a -> [PosInt a] #

enumFromThenTo :: PosInt a -> PosInt a -> PosInt a -> [PosInt a] #

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

Defined in Data.Semiring.Numeric

Methods

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

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

Fractional a => Fractional (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

(/) :: PosInt a -> PosInt a -> PosInt a #

recip :: PosInt a -> PosInt a #

fromRational :: Rational -> PosInt a #

Num a => Num (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

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

(-) :: PosInt a -> PosInt a -> PosInt a #

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

negate :: PosInt a -> PosInt a #

abs :: PosInt a -> PosInt a #

signum :: PosInt a -> PosInt a #

fromInteger :: Integer -> PosInt a #

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

Defined in Data.Semiring.Numeric

Methods

compare :: PosInt a -> PosInt a -> Ordering #

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

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

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

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

max :: PosInt a -> PosInt a -> PosInt a #

min :: PosInt a -> PosInt a -> PosInt a #

Read a => Read (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Real a => Real (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

toRational :: PosInt a -> Rational #

RealFrac a => RealFrac (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

properFraction :: Integral b => PosInt a -> (b, PosInt a) #

truncate :: Integral b => PosInt a -> b #

round :: Integral b => PosInt a -> b #

ceiling :: Integral b => PosInt a -> b #

floor :: Integral b => PosInt a -> b #

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

Defined in Data.Semiring.Numeric

Methods

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

show :: PosInt a -> String #

showList :: [PosInt a] -> ShowS #

Generic (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep (PosInt a) :: Type -> Type #

Methods

from :: PosInt a -> Rep (PosInt a) x #

to :: Rep (PosInt a) x -> PosInt a #

Storable a => Storable (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

sizeOf :: PosInt a -> Int #

alignment :: PosInt a -> Int #

peekElemOff :: Ptr (PosInt a) -> Int -> IO (PosInt a) #

pokeElemOff :: Ptr (PosInt a) -> Int -> PosInt a -> IO () #

peekByteOff :: Ptr b -> Int -> IO (PosInt a) #

pokeByteOff :: Ptr b -> Int -> PosInt a -> IO () #

peek :: Ptr (PosInt a) -> IO (PosInt a) #

poke :: Ptr (PosInt a) -> PosInt a -> IO () #

NFData a => NFData (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

rnf :: PosInt a -> () #

DetectableZero a => DetectableZero (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

isZero :: PosInt a -> Bool Source #

(Eq a, Semiring a, HasPositiveInfinity a) => StarSemiring (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

star :: PosInt a -> PosInt a Source #

plus :: PosInt a -> PosInt a Source #

Semiring a => Semiring (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

Methods

zero :: PosInt a Source #

one :: PosInt a Source #

(<.>) :: PosInt a -> PosInt a -> PosInt a Source #

(<+>) :: PosInt a -> PosInt a -> PosInt a Source #

add :: [PosInt a] -> PosInt a Source #

mul :: [PosInt a] -> PosInt a Source #

Generic1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

Associated Types

type Rep1 PosInt :: k -> Type #

Methods

from1 :: PosInt a -> Rep1 PosInt a #

to1 :: Rep1 PosInt a -> PosInt a #

newtype MVector s (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype MVector s (PosInt a) = MV_PosInt (MVector s a)
type Rep (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep (PosInt a) = D1 (MetaData "PosInt" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "PosInt" PrefixI True) (S1 (MetaSel (Just "getPosInt") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))
newtype Vector (PosInt a) Source # 
Instance details

Defined in Data.Semiring.Numeric

newtype Vector (PosInt a) = V_PosInt (Vector a)
type Rep1 PosInt Source # 
Instance details

Defined in Data.Semiring.Numeric

type Rep1 PosInt = D1 (MetaData "PosInt" "Data.Semiring.Numeric" "semiring-num-1.6.0.4-dekzUTTALSHxRzVbKMHCa" True) (C1 (MetaCons "PosInt" PrefixI True) (S1 (MetaSel (Just "getPosInt") NoSourceUnpackedness NoSourceStrictness DecidedLazy) Par1))