plutarch-1.9.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Plutarch.Builtin.Integer

Synopsis

Type

data PInteger s Source #

A builtin Plutus integer.

@since WIP

Instances

Instances details
PCountable PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Enum

Methods

psuccessor :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

psuccessorN :: forall (s :: S). Term s (PPositive :--> (PInteger :--> PInteger)) Source #

PEnumerable PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Enum

Methods

ppredecessor :: forall (s :: S). Term s (PInteger :--> PInteger) Source #

ppredecessorN :: forall (s :: S). Term s (PPositive :--> (PInteger :--> PInteger)) Source #

PEq PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Eq

Methods

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

PIsData PInteger Source # 
Instance details

Defined in Plutarch.Internal.IsData

Methods

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

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

PLiftable PInteger Source # 
Instance details

Defined in Plutarch.Internal.Lift

PAdditiveGroup PInteger Source #

@since WIP

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

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

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

pscaleInteger :: forall (s :: S). Term s (PInteger :--> (PInteger :--> PInteger)) Source #

PAdditiveMonoid PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

pzero :: forall (s :: S). Term s PInteger Source #

PAdditiveSemigroup PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

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

pscalePositive :: forall (s :: S). Term s (PInteger :--> (PPositive :--> PInteger)) Source #

PIntegralDomain PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

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

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

PMultiplicativeMonoid PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

pone :: forall (s :: S). Term s PInteger Source #

PMultiplicativeSemigroup PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

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

ppowPositive :: forall (s :: S). Term s (PInteger :--> (PPositive :--> PInteger)) Source #

PRing PInteger Source #

@since WIP

Instance details

Defined in Plutarch.Internal.Numeric

Methods

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

POrd PInteger Source # 
Instance details

Defined in Plutarch.Internal.Ord

Methods

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

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

pmax :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

pmin :: forall (s :: S). Term s PInteger -> Term s PInteger -> Term s PInteger Source #

DerivePlutusType PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Associated Types

type DPTStrat PInteger Source #

PlutusType PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

Methods

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

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

PShow PInteger Source # 
Instance details

Defined in Plutarch.Internal.Show

Methods

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

PTryFrom PInteger PPositive Source #

@since WIP

Instance details

Defined in Plutarch.Internal.TryFrom

Associated Types

type PTryFromExcess PInteger PPositive :: PType Source #

Methods

ptryFrom' :: forall (s :: S) (r :: PType). Term s PInteger -> ((Term s PPositive, Reduce (PTryFromExcess PInteger PPositive s)) -> Term s r) -> Term s r Source #

PTryFrom PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Internal.TryFrom

Associated Types

type PTryFromExcess PData (PAsData PInteger) :: PType Source #

Methods

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

Generic (PInteger s) Source # 
Instance details

Defined in Plutarch.Builtin.Integer

Associated Types

type Rep (PInteger s) :: Type -> Type Source #

Methods

from :: PInteger s -> Rep (PInteger s) x Source #

to :: Rep (PInteger s) x -> PInteger s Source #

PIsData (PBuiltinPair PInteger (PBuiltinList PData)) Source # 
Instance details

Defined in Plutarch.Internal.IsData

type AsHaskell PInteger Source # 
Instance details

Defined in Plutarch.Internal.Lift

type PlutusRepr PInteger Source # 
Instance details

Defined in Plutarch.Internal.Lift

type DPTStrat PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PContravariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PCovariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PInner PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PVariant' PInteger Source # 
Instance details

Defined in Plutarch.Internal.PlutusType

type PTryFromExcess PInteger PPositive Source # 
Instance details

Defined in Plutarch.Internal.TryFrom

type PTryFromExcess PData (PAsData PInteger) Source # 
Instance details

Defined in Plutarch.Internal.TryFrom

type Rep (PInteger s) Source # 
Instance details

Defined in Plutarch.Builtin.Integer

type Rep (PInteger s) = D1 ('MetaData "PInteger" "Plutarch.Builtin.Integer" "plutarch-1.9.0-FtN0mhIoM9oEvz7Q98pjWP" 'True) (C1 ('MetaCons "PInteger" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term s POpaque))))

Functions

pexpModInteger :: forall (s :: S). Term s (PInteger :--> (PInteger :--> (PInteger :--> PInteger))) Source #

Performs modulo exponentiation. More precisely, pexpModInteger b e m performs b to the power of e, modulo m. The result is always non-negative.

Note

This will error if the modulus is zero. When given a negative exponent, this will try to find a modular multiplicative inverse, and will error if none exists.

@since WIP

pconstantInteger :: forall (s :: S). Integer -> Term s PInteger Source #