algebra-simple
Safe HaskellNone
LanguageHaskell2010

Numeric.Algebra.Multiplicative.MSemigroup

Description

Provides the MSemigroup typeclass.

Since: 0.1

Synopsis

Documentation

class MSemigroup s where Source #

Defines a multiplicative semigroup.

Examples:

Expand
>>> :{
  -- Multiplication
  f1 :: (MSemigroup g) => g -> g
  f1 x = x .*. x
:}
>>> f1 5
25

Since: 0.1

Methods

(.*.) :: s -> s -> s infixl 7 Source #

Should satisfy:

-- associativity
a .*. (b .*. c) === (a .*. b) .*. c

Since: 0.1

Instances

Instances details
MSemigroup Int16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Int16 -> Int16 -> Int16 Source #

MSemigroup Int32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Int32 -> Int32 -> Int32 Source #

MSemigroup Int64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Int64 -> Int64 -> Int64 Source #

MSemigroup Int8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Int8 -> Int8 -> Int8 Source #

MSemigroup Word16 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Word16 -> Word16 -> Word16 Source #

MSemigroup Word32 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Word32 -> Word32 -> Word32 Source #

MSemigroup Word64 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Word64 -> Word64 -> Word64 Source #

MSemigroup Word8 Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Word8 -> Word8 -> Word8 Source #

MSemigroup Integer Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

MSemigroup Natural Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

MSemigroup Double Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Double -> Double -> Double Source #

MSemigroup Float Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Float -> Float -> Float Source #

MSemigroup Int Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Int -> Int -> Int Source #

MSemigroup Word Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Word -> Word -> Word Source #

Num a => MSemigroup (AsFractional a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Num a => MSemigroup (AsIntegral a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Num a => MSemigroup (AsNum a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: AsNum a -> AsNum a -> AsNum a Source #

RealFloat a => MSemigroup (Complex a) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Complex a -> Complex a -> Complex a Source #

MSemigroup (Ratio Integer) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

MSemigroup (Ratio Natural) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

HasResolution k => MSemigroup (Fixed k) Source #

Since: 0.1

Instance details

Defined in Numeric.Algebra.Multiplicative.MSemigroup

Methods

(.*.) :: Fixed k -> Fixed k -> Fixed k Source #