rings-0.0.3.1: Ring-like objects.

Safe HaskellSafe
LanguageHaskell2010

Data.Semigroup.Multiplicative

Synopsis

Documentation

type (-) g f a = f (g a) infixr 1 Source #

Hyphenation operator.

newtype Multiplicative a Source #

A (potentially non-commutative) Semigroup under +.

Constructors

Multiplicative 

Fields

Instances
Functor Multiplicative Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Methods

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

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

Applicative Multiplicative Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Distributive Multiplicative Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Methods

distribute :: Functor f => f (Multiplicative a) -> Multiplicative (f a) #

collect :: Functor f => (a -> Multiplicative b) -> f a -> Multiplicative (f b) #

distributeM :: Monad m => m (Multiplicative a) -> Multiplicative (m a) #

collectM :: Monad m => (a -> Multiplicative b) -> m a -> Multiplicative (m b) #

Representable Multiplicative Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Associated Types

type Rep Multiplicative :: Type #

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

Defined in Data.Semigroup.Multiplicative

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

Defined in Data.Semigroup.Multiplicative

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

Defined in Data.Semigroup.Multiplicative

Generic (Multiplicative a) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Associated Types

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

Semigroup (Multiplicative Bool) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Semigroup) b => Semigroup (Multiplicative (a -> b)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Methods

(<>) :: Multiplicative (a -> b) -> Multiplicative (a -> b) -> Multiplicative (a -> b) #

sconcat :: NonEmpty (Multiplicative (a -> b)) -> Multiplicative (a -> b) #

stimes :: Integral b0 => b0 -> Multiplicative (a -> b) -> Multiplicative (a -> b) #

Semigroup (Multiplicative Int) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Int8) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Int16) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Int32) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Int64) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Integer) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Natural) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Additive - Semigroup) a => Semigroup (Multiplicative [a]) Source # 
Instance details

Defined in Data.Semigroup.Additive

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (Maybe a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Word) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Word8) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Word16) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Word32) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Word64) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Multiplicative - Semigroup) a, (Multiplicative - Semigroup) b) => Semigroup (Multiplicative (Either a b)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Multiplicative - Semigroup) a, (Multiplicative - Semigroup) b) => Semigroup (Multiplicative (a, b)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Methods

(<>) :: Multiplicative (a, b) -> Multiplicative (a, b) -> Multiplicative (a, b) #

sconcat :: NonEmpty (Multiplicative (a, b)) -> Multiplicative (a, b) #

stimes :: Integral b0 => b0 -> Multiplicative (a, b) -> Multiplicative (a, b) #

((Additive - Group) a, (Multiplicative - Semigroup) a) => Semigroup (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Semigroup (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Additive - Semigroup) a => Semigroup (Multiplicative (Min a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (Max a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (Dual a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (Down a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Additive - Semigroup) a => Semigroup (Multiplicative (NonEmpty a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

(Multiplicative - Semigroup) a => Semigroup (Multiplicative (IntMap a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semigroup (Multiplicative IntSet) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Ord k, (Multiplicative - Semigroup) a) => Semigroup (Multiplicative (Map k a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Ord a => Semigroup (Multiplicative (Set a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semiring a => Semigroup (Multiplicative (M44 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Semigroup (Multiplicative (M33 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Semigroup (Multiplicative (M22 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Semigroup (Multiplicative (M11 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Monoid (Multiplicative Bool) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) b => Monoid (Multiplicative (a -> b)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Methods

mempty :: Multiplicative (a -> b) #

mappend :: Multiplicative (a -> b) -> Multiplicative (a -> b) -> Multiplicative (a -> b) #

mconcat :: [Multiplicative (a -> b)] -> Multiplicative (a -> b) #

Monoid (Multiplicative Int) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Int8) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Int16) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Int32) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Int64) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Integer) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Natural) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Additive - Monoid) a => Monoid (Multiplicative [a]) Source # 
Instance details

Defined in Data.Semigroup.Additive

(Multiplicative - Monoid) a => Monoid (Multiplicative (Maybe a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Monoid (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Word) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Word8) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Word16) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Word32) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Word64) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Additive - Group) a, (Multiplicative - Monoid) a) => Monoid (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Monoid (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Additive - Monoid) a => Monoid (Multiplicative (Min a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

(Multiplicative - Monoid) a => Monoid (Multiplicative (Max a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Monoid (Multiplicative (Dual a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Monoid (Multiplicative (Down a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Monoid (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Monoid (Multiplicative (IntMap a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Ord k, (Multiplicative - Monoid) k, (Multiplicative - Monoid) a) => Monoid (Multiplicative (Map k a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Semiring a => Monoid (Multiplicative (M44 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Monoid (Multiplicative (M33 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Monoid (Multiplicative (M22 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Semiring a => Monoid (Multiplicative (M11 a)) Source # 
Instance details

Defined in Data.Semimodule.Free

Group (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Group (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Additive - Group) a, (Multiplicative - Group) a) => Group (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Group (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Group (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Loop (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Additive - Group) a, (Multiplicative - Group) a) => Loop (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Loop (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Loop (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Quasigroup (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Additive - Group) a, (Multiplicative - Group) a) => Quasigroup (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Quasigroup (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Quasigroup (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Double) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Float) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

(Multiplicative - Monoid) a => Magma (Multiplicative (Ratio a)) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative ()) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

((Additive - Group) a, (Multiplicative - Group) a) => Magma (Multiplicative (Complex a)) Source # 
Instance details

Defined in Data.Semigroup.Additive

Magma (Multiplicative Uni) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Deci) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Centi) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Milli) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Micro) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Nano) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative Pico) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative CFloat) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

Magma (Multiplicative CDouble) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

type Rep Multiplicative Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

type Rep (Multiplicative a) Source # 
Instance details

Defined in Data.Semigroup.Multiplicative

type Rep (Multiplicative a) = D1 (MetaData "Multiplicative" "Data.Semigroup.Multiplicative" "rings-0.0.3.1-DwLnaNEC0zm7jV53dvw3Pn" True) (C1 (MetaCons "Multiplicative" PrefixI True) (S1 (MetaSel (Just "unMultiplicative") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))

(*) :: (Multiplicative - Semigroup) a => a -> a -> a infixl 7 Source #

(/) :: (Multiplicative - Group) a => a -> a -> a infixl 7 Source #

(\\) :: (Multiplicative - Group) a => a -> a -> a infixl 7 Source #

Left division by a multiplicative group element.

When * is commutative we must have:

 x \\ y = y / x

(^^) :: (Multiplicative - Group) a => a -> Integer -> a infixr 8 Source #

Integral power of a multiplicative group element.

 one == a ^^ 0
>>> 8 ^^ 0 :: Double
1.0
>>> 8 ^^ 0 :: Pico
1.000000000000

recip :: (Multiplicative - Group) a => a -> a Source #

Reciprocal of a multiplicative group element.

x / y = x * recip y
x \\ y = recip x * y
>>> recip (3 :+ 4) :: Complex Rational
3 % 25 :+ (-4) % 25
>>> recip (3 :+ 4) :: Complex Double
0.12 :+ (-0.16)
>>> recip (3 :+ 4) :: Complex Pico
0.120000000000 :+ -0.160000000000