plutus-core-0.1.0.0: Language library for Plutus Core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Evaluation.Machine.CostModelInterface

Synopsis

Documentation

data CekMachineCosts Source #

Costs for evaluating AST nodes. Times should be specified in picoseconds, memory sizes in bytes.

Instances

Instances details
Eq CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Show CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Generic CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Associated Types

type Rep CekMachineCosts :: Type -> Type Source #

ToJSON CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

FromJSON CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

Lift CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

type Rep CekMachineCosts Source # 
Instance details

Defined in UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts

type Rep CekMachineCosts = D1 ('MetaData "CekMachineCosts" "UntypedPlutusCore.Evaluation.Machine.Cek.CekMachineCosts" "plutus-core-0.1.0.0-2XLgUgaJ2q72oJTCJd5lmc" 'False) (C1 ('MetaCons "CekMachineCosts" 'PrefixI 'True) (((S1 ('MetaSel ('Just "cekStartupCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget) :*: S1 ('MetaSel ('Just "cekVarCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget)) :*: (S1 ('MetaSel ('Just "cekConstCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget) :*: S1 ('MetaSel ('Just "cekLamCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget))) :*: ((S1 ('MetaSel ('Just "cekDelayCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget) :*: S1 ('MetaSel ('Just "cekForceCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget)) :*: (S1 ('MetaSel ('Just "cekApplyCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget) :*: S1 ('MetaSel ('Just "cekBuiltinCost") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ExBudget)))))

extractCostModelParams :: (ToJSON machinecosts, ToJSON builtincosts) => CostModel machinecosts builtincosts -> Maybe CostModelParams Source #

Given a CostModel, produce a single map containing the parameters from both components

applyCostModelParams :: (FromJSON evaluatorcosts, FromJSON builtincosts, ToJSON evaluatorcosts, ToJSON builtincosts) => CostModel evaluatorcosts builtincosts -> CostModelParams -> Maybe (CostModel evaluatorcosts builtincosts) Source #

Update a CostModel for the CEK machine with a given set of parameters,