Safe Haskell | None |
---|
Algorithms.QLS.CircLiftingImport
Contents
Description
This module contains definitions to work with Template Haskell. All the definitions in this module are used by Template Haskell in Algorithms.QLS.TemplateOracle and Algorithms.QLS.RealFunc.
- grepn :: Eq a => [a] -> [a] -> Int
- template_symb_slash_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))
- template_symb_oangle_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))
- template_symb_oangle_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))
- template_symb_cangle_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))
- template_symb_cangle_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))
- template_symb_minus_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))
- template_symb_plus_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))
- template_symb_star_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))
- template_negate :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ qa)
- template_abs :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ qa)
- template_mod :: Circ (QSignedInt -> Circ (QSignedInt -> Circ QSignedInt))
- template_symb_slash_ :: Circ (QDouble -> Circ (QDouble -> Circ QDouble))
- local_pi :: FDouble
- template_local_pi :: Circ QDouble
- template_floor :: Circ (QDouble -> Circ QSignedInt)
- template_ceiling :: Circ (QDouble -> Circ QSignedInt)
- template_fromIntegral :: Circ (QSignedInt -> Circ QDouble)
- template_rational :: Double -> Circ QDouble
- template_integer :: Int -> Circ QSignedInt
- getIntFromParam :: Int -> Int
- template_getIntFromParam :: Circ (Int -> Circ QSignedInt)
- paramZero :: Int
- template_paramZero :: Circ Int
- paramTen :: Int
- template_paramTen :: Circ Int
- paramSucc :: Int -> Int
- template_paramSucc :: Circ (Int -> Circ Int)
- paramPred :: Int -> Int
- template_paramPred :: Circ (Int -> Circ Int)
- paramMinus :: Int -> Int -> Int
- template_paramMinus :: Circ (Int -> Circ (Int -> Circ Int))
- template_length :: Circ ([a] -> Circ QSignedInt)
- take_half :: [a] -> [a]
- template_take_half :: Circ ([a] -> Circ [a])
- template_symb_dollar_ :: Circ ((a -> Circ b) -> Circ (a -> Circ b))
- template_zip3 :: Circ ([a] -> Circ ([b] -> Circ ([c] -> Circ [(a, b, c)])))
- template_symb_obracket_symb_cbracket_ :: Circ [a]
Utility function
grepn :: Eq a => [a] -> [a] -> IntSource
: Counts how many times regexp is a
sublist of grepn
regexp listlist
.
Lifting of ordering operators.
template_symb_slash_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))Source
Template version of /=
.
template_symb_oangle_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))Source
Template version of <
.
template_symb_oangle_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))Source
Template version of <=
.
template_symb_cangle_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))Source
Template version of >
.
template_symb_cangle_symb_equal_ :: (Typeable qa, QOrd qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ Qubit))Source
Template version of >=
.
Lifting of arithmetic operators
template_symb_minus_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))Source
Template version of -
.
template_symb_plus_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))Source
Template version of +
.
template_symb_star_ :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ (qa -> Circ qa))Source
Template version of *
.
template_negate :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ qa)Source
Template version of negate
.
template_abs :: (Typeable qa, QNum qa, Show (BType qa)) => Circ (qa -> Circ qa)Source
Template version of abs
.
template_mod :: Circ (QSignedInt -> Circ (QSignedInt -> Circ QSignedInt))Source
Template version of mod
Operations on QDouble
template_symb_slash_ :: Circ (QDouble -> Circ (QDouble -> Circ QDouble))Source
Template version of /
on Fractional
.
template_local_pi :: Circ QDoubleSource
Template version of local_pi
.
Relation between QDouble
and QSignedInt
.
template_floor :: Circ (QDouble -> Circ QSignedInt)Source
Template version of floor
.
template_ceiling :: Circ (QDouble -> Circ QSignedInt)Source
Template version of ceil
.
template_fromIntegral :: Circ (QSignedInt -> Circ QDouble)Source
Template version of fromIntegral
.
Dealing with parameters.
template_integer :: Int -> Circ QSignedIntSource
Lift an integer to QSignedInt
.
template_getIntFromParam :: Circ (Int -> Circ QSignedInt)Source
Template version of getIntFromParam
.
template_paramZero :: Circ IntSource
Template version of paramZero
.
template_paramTen :: Circ IntSource
Template version of paramTen
.
paramMinus :: Int -> Int -> IntSource
Subtraction of parameter integers.
template_paramMinus :: Circ (Int -> Circ (Int -> Circ Int))Source
Template version of paramMinus
.
Miscellaneous operations.
template_length :: Circ ([a] -> Circ QSignedInt)Source
Lifted version of
.
length
template_take_half :: Circ ([a] -> Circ [a])Source
Lifted version of
.
take_half
template_symb_dollar_ :: Circ ((a -> Circ b) -> Circ (a -> Circ b))Source
Lifted version of the combinator $
.
template_zip3 :: Circ ([a] -> Circ ([b] -> Circ ([c] -> Circ [(a, b, c)])))Source
Lifted version of zip3
.
template_symb_obracket_symb_cbracket_ :: Circ [a]Source
Lifted version of '[]'.