traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Search.DetSearch

Synopsis

Documentation

newtype DetSearch sizeT precT #

Primitive implementing brute-force classical search.

Constructors

DetSearch (PrimSearch sizeT precT) 

Instances

Instances details
Generic (DetSearch sizeT precT) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Associated Types

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

Methods

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

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

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

Defined in Traq.Primitives.Search.DetSearch

Methods

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

readList :: ReadS [DetSearch sizeT precT] #

readPrec :: ReadPrec (DetSearch sizeT precT) #

readListPrec :: ReadPrec [DetSearch sizeT precT] #

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

Defined in Traq.Primitives.Search.DetSearch

Methods

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

show :: DetSearch sizeT precT -> String #

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

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

Defined in Traq.Primitives.Search.DetSearch

Methods

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

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

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

Defined in Traq.Primitives.Search.DetSearch

Methods

primNames :: [Ident] #

primNameOf :: DetSearch size prec -> Ident #

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

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

MapSize (DetSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Associated Types

type MappedSize (DetSearch size prec) size' #

Methods

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

TypingReqs size => TypeCheckPrim (DetSearch size prec) size # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

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

EvalPrim (DetSearch size prec) size prec # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

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

(size ~ SizeT, Floating prec, Monoidal prec, Semiring prec) => QuantumExpCostPrim (DetSearch size prec) size prec # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

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

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

(TypingReqs size, Integral size, Num prec, SizeToPrec size prec) => QuantumHavocCostPrim (DetSearch size prec) size prec # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

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

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

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

(TypingReqs size, Integral size, Num prec) => UnitaryCostPrim (DetSearch size prec) size prec # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

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

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

(PrimSearch sizeT precT) :<: (DetSearch sizeT precT) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

inject :: PrimSearch sizeT precT -> DetSearch sizeT precT #

project :: DetSearch sizeT precT -> Maybe (PrimSearch sizeT precT) #

type Rep (DetSearch sizeT precT) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

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

Defined in Traq.Primitives.Search.DetSearch

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

Defined in Traq.Primitives.Search.DetSearch

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

Defined in Traq.Primitives.Search.DetSearch

type MappedSize (DetSearch size prec) size' # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

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