traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Max.QMax

Description

Synopsis

Primitive

data QMax sizeT precT #

Constructors

QMax 

Fields

Instances

Instances details
Read sizeT => Read (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

readsPrec :: Int -> ReadS (QMax sizeT precT) #

readList :: ReadS [QMax sizeT precT] #

readPrec :: ReadPrec (QMax sizeT precT) #

readListPrec :: ReadPrec [QMax sizeT precT] #

Show sizeT => Show (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

showsPrec :: Int -> QMax sizeT precT -> ShowS #

show :: QMax sizeT precT -> String #

showList :: [QMax sizeT precT] -> ShowS #

Eq sizeT => Eq (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

(==) :: QMax sizeT precT -> QMax sizeT precT -> Bool #

(/=) :: QMax sizeT precT -> QMax sizeT precT -> Bool #

Show sizeT => SerializePrim (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

primNames :: [Ident] #

primNameOf :: QMax sizeT precT -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QMax sizeT precT) #

printPrimParams :: QMax sizeT precT -> [String] #

Eq sizeT => TypeCheckPrim (QMax sizeT precT) sizeT # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

inferRetTypesPrim :: forall ext' shape m. (m ~ TypeChecker ext', sizeT ~ SizeType ext', shape ~ PrimFnShape (QMax sizeT precT)) => QMax sizeT precT -> shape (FnType sizeT) -> m [VarType sizeT] #

EvalPrim (QMax sizeT precT) sizeT precT #

Evaluate an any call by evaluating the predicate on each element of the search space and or-ing the results.

Instance details

Defined in Traq.Primitives.Max.QMax

Methods

evalPrim :: forall ext' shape m. (Evaluatable ext' sizeT precT, m ~ Evaluator ext', SizeType ext' ~ sizeT, PrecType ext' ~ precT, shape ~ PrimFnShape (QMax sizeT precT)) => QMax sizeT precT -> shape ([Value sizeT] -> m [Value sizeT]) -> m [Value sizeT] #

(Floating precT, Integral sizeT, SizeToPrec sizeT precT) => QuantumExpCostPrim (QMax sizeT precT) sizeT precT # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

quantumExpQueryCostsQuantum :: (shape ~ PrimFnShape (QMax sizeT precT), m ~ EvaluationMonad precT) => QMax sizeT precT -> FailProb precT -> shape ([Value sizeT] -> m [Value sizeT]) -> shape [([Value sizeT], precT)] #

quantumExpQueryCostsUnitary :: (shape ~ PrimFnShape (QMax sizeT precT), m ~ EvaluationMonad precT) => QMax sizeT precT -> FailProb precT -> shape ([Value sizeT] -> m [Value sizeT]) -> shape (UnitaryQueries precT) #

quantumExpExprCosts :: forall shape cost m. (CostModel cost, precT ~ PrecType cost, shape ~ PrimFnShape (QMax sizeT precT), m ~ EvaluationMonad precT) => QMax sizeT precT -> FailProb precT -> shape ([Value sizeT] -> m [Value sizeT]) -> cost #

(Integral sizeT, Floating precT, SizeToPrec sizeT precT) => QuantumHavocCostPrim (QMax sizeT precT) sizeT precT # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

quantumQueryCostsQuantum :: QMax sizeT precT -> FailProb precT -> PrimFnShape (QMax sizeT precT) precT #

quantumQueryCostsUnitary :: QMax sizeT precT -> FailProb precT -> PrimFnShape (QMax sizeT precT) (UnitaryQueries precT) #

quantumExprCosts :: (CostModel cost, precT ~ PrecType cost) => QMax sizeT precT -> FailProb precT -> cost #

(Integral sizeT, Floating precT, SizeToPrec sizeT precT) => UnitaryCostPrim (QMax sizeT precT) sizeT precT #

Compute the unitary cost using the QSearch_Zalka cost formula.

Instance details

Defined in Traq.Primitives.Max.QMax

Methods

unitaryQueryCosts :: QMax sizeT precT -> FailProb precT -> PrimFnShape (QMax sizeT precT) (UnitaryQueries precT) #

unitaryExprCosts :: (CostModel cost, precT ~ PrecType cost) => QMax sizeT precT -> FailProb precT -> cost #

type PrecType (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

type PrecType (QMax sizeT precT) = precT
type SizeType (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

type SizeType (QMax sizeT precT) = sizeT
type PrimFnShape (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

type PrimFnShape (QMax size prec)

Formulas

_EQMax :: forall sizeT precT. (Floating precT, SizeToPrec sizeT precT) => sizeT -> precT #

_WQMax :: forall sizeT precT. (Floating precT, SizeToPrec sizeT precT) => sizeT -> FailProb precT -> precT #