traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Max.QMax

Description

Synopsis

Primitive

data QMax size prec #

Constructors

QMax 

Fields

Instances

Instances details
Read size => Read (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

readsPrec :: Int -> ReadS (QMax size prec) #

readList :: ReadS [QMax size prec] #

readPrec :: ReadPrec (QMax size prec) #

readListPrec :: ReadPrec [QMax size prec] #

Show size => Show (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

showsPrec :: Int -> QMax size prec -> ShowS #

show :: QMax size prec -> String #

showList :: [QMax size prec] -> ShowS #

Eq size => Eq (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

(==) :: QMax size prec -> QMax size prec -> Bool #

(/=) :: QMax size prec -> QMax size prec -> Bool #

Show size => SerializePrim (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

primNames :: [Ident] #

primNameOf :: QMax size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QMax size prec) #

printPrimParams :: QMax size prec -> [String] #

MapSize (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Associated Types

type MappedSize (QMax size prec) size' #

Methods

mapSize :: (size0 ~ SizeType (QMax size prec), size' ~ SizeType ext', ext' ~ MappedSize (QMax size prec) size') => (size0 -> size') -> QMax size prec -> ext' #

Eq size => TypeCheckPrim (QMax size prec) size # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

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

(TypingReqs size, Integral size, RealFloat prec, Show prec, SizeToPrec size prec) => QuantumCompilePrim (QMax size prec) size prec # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

compileQPrim :: forall ext' m (shape :: Type -> Type). (m ~ PrimCompileMonad ext' (QMax size prec), size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape (QMax size prec)) => QMax size prec -> FailProb prec -> m (ProcDef size) #

(TypingReqs size, Integral size, RealFloat prec, Show prec) => UnitaryCompilePrim (QMax size prec) size prec # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

compileUPrim :: forall ext' m (shape :: Type -> Type). (m ~ PrimCompileMonad ext' (QMax size prec), size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape (QMax size prec)) => QMax size prec -> FailProb prec -> m (ProcDef size) #

EvalPrim (QMax size prec) size prec #

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' size prec, m ~ Evaluator ext', SizeType ext' ~ size, PrecType ext' ~ prec, shape ~ PrimFnShape (QMax size prec)) => QMax size prec -> shape ([Value size] -> m [Value size]) -> m [Value size] #

(Floating prec, Integral size, SizeToPrec size prec) => QuantumExpCostPrim (QMax size prec) size prec # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

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

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

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

(Integral size, Floating prec, SizeToPrec size prec) => QuantumHavocCostPrim (QMax size prec) size prec # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

quantumQueryCostsQuantum :: QMax size prec -> FailProb prec -> PrimFnShape (QMax size prec) prec #

quantumQueryCostsUnitary :: QMax size prec -> FailProb prec -> PrimFnShape (QMax size prec) (UnitaryQueries prec) #

quantumExprCosts :: (CostModel cost, prec ~ PrecType cost) => QMax size prec -> FailProb prec -> cost #

(Integral size, Floating prec, SizeToPrec size prec) => UnitaryCostPrim (QMax size prec) size prec # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

unitaryQueryCosts :: QMax size prec -> FailProb prec -> PrimFnShape (QMax size prec) (UnitaryQueries prec) #

unitaryExprCosts :: (CostModel cost, prec ~ PrecType cost) => QMax size prec -> FailProb prec -> cost #

type PrecType (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

type PrecType (QMax size prec) = prec
type SizeType (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

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

Defined in Traq.Primitives.Max.QMax

type PrimFnShape (QMax size prec)
type MappedSize (QMax size prec) size' # 
Instance details

Defined in Traq.Primitives.Max.QMax

type MappedSize (QMax size prec) size' = QMax size' prec

Formulas

_EQMax :: forall size prec. (Floating prec, SizeToPrec size prec) => size -> prec #

_WQMax :: forall size prec. (Floating prec, SizeToPrec size prec) => size -> FailProb prec -> prec #