| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Traq.Analysis.Cost.Quantum
Contents
Synopsis
- class CostU ext size prec => CostQ ext size prec | ext -> size prec where
- costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => ext -> m cost
- costQProg :: forall cost ext size prec. (CostQ ext size prec, CostModelReqs size prec cost) => Program ext -> cost
- class (CostQ ext size prec, Evaluatable ext size prec) => ExpCostQ ext size prec | ext -> size prec where
- expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => ext -> ProgramState size -> m cost
- expCostQProg :: forall cost ext size prec. (ExpCostQ ext size prec, CostModelReqs size prec cost, EvalReqs size prec) => Program ext -> [Value size] -> FunInterpCtx size -> cost
- type CostModelReqs size prec cost = (CostModel cost, prec ~ PrecType cost, SizeToPrec size prec, Ord cost)
Documentation
class CostU ext size prec => CostQ ext size prec | ext -> size prec where #
Havoc Cost w.r.t. quantum compiler
Methods
costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => ext -> m cost #
Instances
| (UnitaryCostPrim prim size prec, QuantumHavocCostPrim prim size prec, CostReqs size prec) => CostQ (AnnFailProb (Primitive prim)) size prec # | |
Defined in Traq.Primitives.Class Methods costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => AnnFailProb (Primitive prim) -> m cost # | |
| CostQ ext size prec => CostQ (Expr ext) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => Expr ext -> m cost # | |
| CostQ ext size prec => CostQ (NamedFunDef ext) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => NamedFunDef ext -> m cost # | |
| CostQ ext size prec => CostQ (Stmt ext) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => Stmt ext -> m cost # | |
| CostReqs size prec => CostQ (Core size prec) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods costQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', CostQ ext' size prec, CostModelReqs size prec cost) => Core size prec -> m cost # | |
costQProg :: forall cost ext size prec. (CostQ ext size prec, CostModelReqs size prec cost) => Program ext -> cost #
Havoc (worst-case) quantum cost of the entire program (i.e. last function as entry-point)
class (CostQ ext size prec, Evaluatable ext size prec) => ExpCostQ ext size prec | ext -> size prec where #
Expected Cost w.r.t. quantum compiler
Methods
expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => ext -> ProgramState size -> m cost #
Instances
| (UnitaryCostPrim prim size prec, QuantumHavocCostPrim prim size prec, QuantumExpCostPrim prim size prec, EvalPrim prim size prec, CostReqs size prec, EvalReqs size prec) => ExpCostQ (AnnFailProb (Primitive prim)) size prec # | |
Defined in Traq.Primitives.Class Methods expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => AnnFailProb (Primitive prim) -> ProgramState size -> m cost # | |
| ExpCostQ ext size prec => ExpCostQ (Expr ext) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => Expr ext -> ProgramState size -> m cost # | |
| ExpCostQ ext size prec => ExpCostQ (NamedFunDef ext) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => NamedFunDef ext -> ProgramState size -> m cost # | |
| (CostReqs size prec, EvalReqs size prec) => ExpCostQ (Core size prec) size prec # | |
Defined in Traq.Analysis.Cost.Quantum Methods expCostQ :: forall ext' cost m. (m ~ CostAnalysisMonad ext', ExpCostQ ext' size prec, CostModelReqs size prec cost) => Core size prec -> ProgramState size -> m cost # | |
Arguments
| :: forall cost ext size prec. (ExpCostQ ext size prec, CostModelReqs size prec cost, EvalReqs size prec) | |
| => Program ext | program |
| -> [Value size] | args to main |
| -> FunInterpCtx size | external function interpretations |
| -> cost |
Expected quantum cost of the entire program (i.e. last function as entry-point)
Types
type CostModelReqs size prec cost = (CostModel cost, prec ~ PrecType cost, SizeToPrec size prec, Ord cost) #