traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Amplify.CAmplify

Synopsis

Documentation

newtype CAmplify sizeT precT #

Classical (probabilistic) bounded repetition.

Constructors

CAmplify (Amplify sizeT precT) 

Instances

Instances details
Generic (CAmplify sizeT precT) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Associated Types

type Rep (CAmplify sizeT precT) :: Type -> Type #

Methods

from :: CAmplify sizeT precT -> Rep (CAmplify sizeT precT) x #

to :: Rep (CAmplify sizeT precT) x -> CAmplify sizeT precT #

Read precT => Read (CAmplify sizeT precT) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

readList :: ReadS [CAmplify sizeT precT] #

readPrec :: ReadPrec (CAmplify sizeT precT) #

readListPrec :: ReadPrec [CAmplify sizeT precT] #

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

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

show :: CAmplify sizeT precT -> String #

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

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

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

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

(Show prec, Fractional prec) => SerializePrim (CAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

primNames :: [Ident] #

primNameOf :: CAmplify size prec -> Ident #

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

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

MapSize (CAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Associated Types

type MappedSize (CAmplify size prec) size' #

Methods

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

TypingReqs sizeT => TypeCheckPrim (CAmplify sizeT precT) sizeT # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

(EvalReqs sizeT precT, Ord precT) => EvalPrim (CAmplify sizeT precT) sizeT precT # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

(EvalReqs size prec, Floating prec, Ord prec) => QuantumExpCostPrim (CAmplify size prec) size prec # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

quantumExpQueryCostsUnitary :: (shape ~ PrimFnShape (CAmplify size prec), m ~ EvaluationMonad prec) => CAmplify 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 (CAmplify size prec), m ~ EvaluationMonad prec) => CAmplify size prec -> FailProb prec -> shape ([Value size] -> m [Value size]) -> cost #

(TypingReqs size, SizeToPrec size prec, Floating prec) => QuantumHavocCostPrim (CAmplify size prec) size prec # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

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

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

(TypingReqs size, Floating prec) => UnitaryCostPrim (CAmplify size prec) size prec # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

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

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

(Amplify sizeT precT) :<: (CAmplify sizeT precT) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

inject :: Amplify sizeT precT -> CAmplify sizeT precT #

project :: CAmplify sizeT precT -> Maybe (Amplify sizeT precT) #

type Rep (CAmplify sizeT precT) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

type Rep (CAmplify sizeT precT) = D1 ('MetaData "CAmplify" "Traq.Primitives.Amplify.CAmplify" "traq-0.2.0.0-inplace" 'True) (C1 ('MetaCons "CAmplify" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Amplify sizeT precT))))
type PrecType (CAmplify sizeT precT) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

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

Defined in Traq.Primitives.Amplify.CAmplify

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

Defined in Traq.Primitives.Amplify.CAmplify

type PrimFnShape (CAmplify size prec) = SamplerFn
type MappedSize (CAmplify size prec) size' # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

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

Symbolic formulas

_QMax :: forall precT. Floating precT => FailProb precT -> precT -> precT #

Maximum queries

_EQ :: forall precT. (Floating precT, Ord precT) => FailProb precT -> precT -> precT -> precT #

Expected queries