algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Multiplicative.MMonoid

Description

Provides the MMonoid typeclass.

Since: 0.1

Synopsis

Documentation

class MSemigroup m => MMonoid m where Source #

Defines a monoid over a multiplicative semigroup.

Examples:

Expand
>>> :{
  -- Multiplication
  f1 :: (MMonoid g) => g -> g
  f1 x = x .*. x
:}
>>> f1 5
25
>>> :{
  -- One
  f2 :: (MMonoid g) => g -> g
  f2 x = x .*. one
:}
>>> f2 5
5

Since: 0.1

Methods

one :: m Source #

Should satisfy:

-- identity
a .*. one === a === one .*. a

Since: 0.1

Instances

Instances details
MMonoid Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Int16 Source #

MMonoid Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Int32 Source #

MMonoid Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Int64 Source #

MMonoid Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Int8 Source #

MMonoid Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Word16 Source #

MMonoid Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Word32 Source #

MMonoid Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Word64 Source #

MMonoid Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Word8 Source #

MMonoid Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Integer Source #

MMonoid Natural Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Natural Source #

MMonoid Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Double Source #

MMonoid Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Float Source #

MMonoid Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Int Source #

MMonoid Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Word Source #

Num a => MMonoid (AsFractional a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: AsFractional a Source #

Num a => MMonoid (AsIntegral a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: AsIntegral a Source #

Num a => MMonoid (AsNum a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: AsNum a Source #

RealFloat a => MMonoid (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Complex a Source #

MMonoid (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

MMonoid (Ratio Natural) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

HasResolution k => MMonoid (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MMonoid

Methods

one :: Fixed k Source #

pattern One :: (MMonoid m, Eq m) => m Source #

Pattern synonym for one.

Since: 0.1

pattern NonOne :: (MMonoid m, Eq m) => m -> m Source #

Pattern synonym for x /= one.

Since: 0.1