liqwid-plutarch-extra-3.21.1: A collection of Plutarch extras from Liqwid Labs
Safe HaskellSafe-Inferred
LanguageHaskell2010

Plutarch.Extra.Fixed

Synopsis

Documentation

newtype PFixed (unit :: Nat) (s :: S) Source #

Deprecated: Use PFixedDecimal instead

Fixed width decimal. Denominator will be given through typelit unit. This would be used for representing Ada value with some Lovelace changes.

Since: 3.12.0

Constructors

PFixed (Term s PInteger)

Deprecated: Use PFixedDecimal instead

Instances

Instances details
PTryFrom PData (PAsData (PFixed unit)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Associated Types

type PTryFromExcess PData (PAsData (PFixed unit)) :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PData -> ((Term s (PAsData (PFixed unit)), Reduce (PTryFromExcess PData (PAsData (PFixed unit)) s)) -> Term s r) -> Term s r Source #

PEq (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

(#==) :: forall (s :: S). Term s (PFixed unit) -> Term s (PFixed unit) -> Term s PBool Source #

POrd (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

PPartialOrd (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

(#<=) :: forall (s :: S). Term s (PFixed unit) -> Term s (PFixed unit) -> Term s PBool Source #

(#<) :: forall (s :: S). Term s (PFixed unit) -> Term s (PFixed unit) -> Term s PBool Source #

PIsData (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

pfromDataImpl :: forall (s :: S). Term s (PAsData (PFixed unit)) -> Term s (PFixed unit) Source #

pdataImpl :: forall (s :: S). Term s (PFixed unit) -> Term s PData Source #

DerivePlutusType (PFixed a) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Associated Types

type DPTStrat (PFixed a) Source #

PlutusType (PFixed unit) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

Associated Types

type PInner (PFixed unit) :: PType Source #

type PCovariant' (PFixed unit) Source #

type PContravariant' (PFixed unit) Source #

type PVariant' (PFixed unit) Source #

Methods

pcon' :: forall (s :: S). PFixed unit s -> Term s (PInner (PFixed unit)) Source #

pmatch' :: forall (s :: S) (b :: PType). Term s (PInner (PFixed unit)) -> (PFixed unit s -> Term s b) -> Term s b Source #

KnownNat u => PNum (PFixed u) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

(#+) :: forall (s :: S). Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

(#-) :: forall (s :: S). Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

(#*) :: forall (s :: S). Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

pnegate :: forall (s :: S). Term s (PFixed u :--> PFixed u) Source #

pabs :: forall (s :: S). Term s (PFixed u :--> PFixed u) Source #

psignum :: forall (s :: S). Term s (PFixed u :--> PFixed u) Source #

pfromInteger :: forall (s :: S). Integer -> Term s (PFixed u) Source #

PShow (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

pshow' :: forall (s :: S). Bool -> Term s (PFixed unit) -> Term s PString Source #

Generic (PFixed unit s) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

Associated Types

type Rep (PFixed unit s) :: Type -> Type Source #

Methods

from :: PFixed unit s -> Rep (PFixed unit s) x Source #

to :: Rep (PFixed unit s) x -> PFixed unit s Source #

KnownNat u => DivideMonoid (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

one :: Term s (PFixed u) Source #

KnownNat u => DivideSemigroup (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

divide :: Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

KnownNat u => AdditiveMonoid (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

zero :: Term s (PFixed u) Source #

KnownNat u => AdditiveSemigroup (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

(+) :: Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

type PTryFromExcess PData (PAsData (PFixed unit)) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

type DPTStrat (PFixed a) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

type PContravariant' (PFixed unit) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

type PContravariant' (PFixed unit) = All2 PContravariant'' (PCode (PFixed unit))
type PCovariant' (PFixed unit) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

type PCovariant' (PFixed unit) = All2 PCovariant'' (PCode (PFixed unit))
type PInner (PFixed unit) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

type PInner (PFixed unit) = DerivedPInner (DPTStrat (PFixed unit)) (PFixed unit)
type PVariant' (PFixed unit) Source # 
Instance details

Defined in Plutarch.Extra.Fixed

type PVariant' (PFixed unit) = All2 PVariant'' (PCode (PFixed unit))
type Rep (PFixed unit s) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

type Rep (PFixed unit s) = D1 ('MetaData "PFixed" "Plutarch.Extra.Fixed" "liqwid-plutarch-extra-3.21.1-KPadsMN5oqEA2Ctxwq6qig" 'True) (C1 ('MetaCons "PFixed" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s PInteger))))

class DivideSemigroup a where Source #

Methods

divide :: a -> a -> a Source #

Instances

Instances details
KnownNat u => DivideSemigroup (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

divide :: Term s (PFixed u) -> Term s (PFixed u) -> Term s (PFixed u) Source #

class DivideSemigroup a => DivideMonoid a where Source #

Methods

one :: a Source #

Instances

Instances details
KnownNat u => DivideMonoid (Term s (PFixed u)) Source #

Since: 3.12.0

Instance details

Defined in Plutarch.Extra.Fixed

Methods

one :: Term s (PFixed u) Source #

fixedToAdaValue :: forall (s :: S) (unit :: Nat). KnownNat unit => Term s (PFixed unit :--> PValue 'Sorted 'NonZero) Source #

Convert given fixed into Ada value. Input should be Ada value with decimals; outputs will be lovelace values in integer.

Since: 3.9.0

fromPInteger :: forall (unit :: Nat) (s :: S). KnownNat unit => Term s (PInteger :--> PFixed unit) Source #

Convert PInteger to PFixed.

Since: 3.12.0

toPInteger :: forall (unit :: Nat) (s :: S). KnownNat unit => Term s (PFixed unit :--> PInteger) Source #

Convert PFixed to Integer. Values that are smaller than 1 will be lost.

Since: 3.12.0