algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Rings.Semifield

Description

Provides the Semifield typeclass.

Since: 0.1

Synopsis

Documentation

class (PseudoSemifield r, Semiring r) => Semifield r Source #

Defines a Semifield i.e. a structure that is an PseudoSemifield and a Semiring.

Examples:

Expand
  • \( \mathbb{Q}^{+} \), the non-negative rationals.
>>> :{
  -- Addition
  f1 :: (Semifield k) => k -> k
  f1 x = x .+. x
:}
>>> f1 5
10
>>> :{
  -- Zero
  f2 :: (Semifield k) => k -> k
  f2 x = x .+. zero
:}
>>> f2 5
5
>>> :{
  -- Multiplication
  f3 :: (Semifield k) => k -> k
  f3 x = x .*. x
:}
>>> f3 5
25
>>> :{
  -- One
  f4 :: (Semifield k) => k -> k
  f4 x = x .*. one
:}
>>> f4 5
5
>>> :{
  -- Division
  f5 :: (Semifield k, Num k) => k -> k
  f5 x = x .%. 2
:}
>>> f5 6
3

Since: 0.1

Instances

Instances details
Semifield Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Natural Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

RealFloat a => Semifield (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

Semifield (Ratio Natural) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield

HasResolution k => Semifield (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Rings.Semifield