algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Rings.Hemiring

Description

Provides the Hemiring typeclass.

Since: 0.1

Synopsis

Documentation

class (AMonoid r, Quartaring r) => Hemiring r Source #

Defines a Hemiring i.e. a Quartaring with additive identity. In other words, a semiring without multiplicative identity.

Examples:

Expand
  • \( \mathbb{N} \setminus \{1\} \), the naturals without 1.
>>> :{
  -- Addition
  f1 :: (Hemiring r) => r -> r
  f1 x = x .+. x
:}
>>> f1 5
10
>>> :{
  -- Zero
  f2 :: (Hemiring r) => r -> r
  f2 x = x .+. zero
:}
>>> f2 5
5
>>> :{
  -- Multiplication
  f3 :: (Hemiring r) => r -> r
  f3 x = x .*. x
:}
>>> f3 5
25

Since: 0.1

Instances

Instances details
Hemiring Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Natural Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

RealFloat a => Hemiring (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

Hemiring (Ratio Natural) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring

HasResolution k => Hemiring (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Hemiring