plutus-tx-1.70.0.0: Libraries for Plutus Tx and its prelude
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusTx.Numeric

Synopsis

Type classes

class AdditiveSemigroup a where Source #

A Semigroup that it is sensible to describe using addition.

Methods

(+) ∷ a → a → a infixl 6 Source #

Instances

Instances details
AdditiveSemigroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(+) ∷ Rational → Rational → Rational Source #

AdditiveSemigroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(+) ∷ Integer → Integer → Integer Source #

AdditiveSemigroup Bool Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(+) ∷ Bool → Bool → Bool Source #

Semigroup a ⇒ AdditiveSemigroup (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(+) ∷ Additive a → Additive a → Additive a Source #

class AdditiveSemigroup a ⇒ AdditiveMonoid a where Source #

A Monoid that it is sensible to describe using addition and zero.

Methods

zero ∷ a Source #

Instances

Instances details
AdditiveMonoid Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

zero ∷ Rational Source #

AdditiveMonoid Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

zero ∷ Integer Source #

AdditiveMonoid Bool Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

zero ∷ Bool Source #

Monoid a ⇒ AdditiveMonoid (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

zero ∷ Additive a Source #

class AdditiveMonoid a ⇒ AdditiveGroup a where Source #

A Group that it is sensible to describe using addition, zero, and subtraction.

Methods

(-) ∷ a → a → a infixl 6 Source #

Instances

Instances details
AdditiveGroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(-) ∷ Rational → Rational → Rational Source #

AdditiveGroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(-) ∷ Integer → Integer → Integer Source #

Group a ⇒ AdditiveGroup (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(-) ∷ Additive a → Additive a → Additive a Source #

class MultiplicativeSemigroup a where Source #

A Semigroup that it is sensible to describe using multiplication.

Methods

(*) ∷ a → a → a infixl 7 Source #

Instances

Instances details
MultiplicativeSemigroup Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

(*) ∷ Rational → Rational → Rational Source #

MultiplicativeSemigroup Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(*) ∷ Integer → Integer → Integer Source #

MultiplicativeSemigroup Bool Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(*) ∷ Bool → Bool → Bool Source #

Semigroup a ⇒ MultiplicativeSemigroup (Multiplicative a) Source # 
Instance details

Defined in PlutusTx.Numeric

class MultiplicativeSemigroup a ⇒ MultiplicativeMonoid a where Source #

A Semigroup that it is sensible to describe using multiplication and one.

Methods

one ∷ a Source #

Instances

Instances details
MultiplicativeMonoid Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

one ∷ Rational Source #

MultiplicativeMonoid Integer Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

one ∷ Integer Source #

MultiplicativeMonoid Bool Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

one ∷ Bool Source #

Monoid a ⇒ MultiplicativeMonoid (Multiplicative a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

one ∷ Multiplicative a Source #

class (Ring s, AdditiveGroup v) ⇒ Module s v | v → s where Source #

A module, with a type of scalars which can be used to scale the values.

Methods

scale ∷ s → v → v Source #

Instances

Instances details
Module Integer Rational Source # 
Instance details

Defined in PlutusTx.Ratio

Methods

scale ∷ Integer → Rational → Rational Source #

Helper newtypes

newtype Additive a Source #

A newtype wrapper to derive Additive classes via.

Constructors

Additive a 

Instances

Instances details
Group a ⇒ AdditiveGroup (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(-) ∷ Additive a → Additive a → Additive a Source #

Monoid a ⇒ AdditiveMonoid (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

zero ∷ Additive a Source #

Semigroup a ⇒ AdditiveSemigroup (Additive a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

(+) ∷ Additive a → Additive a → Additive a Source #

newtype Multiplicative a Source #

A newtype wrapper to derive Multiplicative classes via.

Constructors

Multiplicative a 

Instances

Instances details
Monoid a ⇒ MultiplicativeMonoid (Multiplicative a) Source # 
Instance details

Defined in PlutusTx.Numeric

Methods

one ∷ Multiplicative a Source #

Semigroup a ⇒ MultiplicativeSemigroup (Multiplicative a) Source # 
Instance details

Defined in PlutusTx.Numeric

Helper functions

negate ∷ AdditiveGroup a ⇒ a → a Source #

divMod ∷ Integer → Integer → (Integer, Integer) Source #

Simultaneous div and mod.

quotRem ∷ Integer → Integer → (Integer, Integer) Source #

Simultaneous quot and rem.

abs ∷ (Ord n, AdditiveGroup n) ⇒ n → n Source #

Absolute value for any AdditiveGroup.

Orphan instances

MultiplicativeMonoid a ⇒ Monoid (Product a) Source # 
Instance details

Methods

mempty ∷ Product a Source #

AdditiveMonoid a ⇒ Monoid (Sum a) Source # 
Instance details

Methods

mempty ∷ Sum a Source #

MultiplicativeSemigroup a ⇒ Semigroup (Product a) Source # 
Instance details

Methods

(<>) ∷ Product a → Product a → Product a Source #

AdditiveSemigroup a ⇒ Semigroup (Sum a) Source # 
Instance details

Methods

(<>) ∷ Sum a → Sum a → Sum a Source #