Qrack  9.0
General classical-emulating-quantum development framework
Namespaces | Functions | Variables
qrack_functions.hpp File Reference
#include "qrack_types.hpp"
#include <set>
#include <vector>
Include dependency graph for qrack_functions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Qrack
 

Functions

bitCapInt Qrack::pow2 (const bitLenInt &p)
 
bitCapIntOcl Qrack::pow2Ocl (const bitLenInt &p)
 
bitCapInt Qrack::pow2Mask (const bitLenInt &p)
 
bitCapIntOcl Qrack::pow2MaskOcl (const bitLenInt &p)
 
bitLenInt Qrack::log2 (bitCapInt n)
 
bitCapInt Qrack::bitSlice (const bitLenInt &bit, const bitCapInt &source)
 
bitCapIntOcl Qrack::bitSliceOcl (const bitLenInt &bit, const bitCapIntOcl &source)
 
bitCapInt Qrack::bitRegMask (const bitLenInt &start, const bitLenInt &length)
 
bitCapIntOcl Qrack::bitRegMaskOcl (const bitLenInt &start, const bitLenInt &length)
 
bool Qrack::isPowerOfTwo (const bitCapInt &x)
 
bool Qrack::isBadBitRange (const bitLenInt &start, const bitLenInt &length, const bitLenInt &qubitCount)
 
bool Qrack::isBadPermRange (const bitCapIntOcl &start, const bitCapIntOcl &length, const bitCapIntOcl &maxQPowerOcl)
 
void Qrack::ThrowIfQbIdArrayIsBad (const std::vector< bitLenInt > &controls, const bitLenInt &qubitCount, std::string message)
 
unsigned char * Qrack::cl_alloc (size_t ucharCount)
 
void Qrack::cl_free (void *toFree)
 
void Qrack::mul2x2 (complex const *left, complex const *right, complex *out)
 
void Qrack::exp2x2 (complex const *matrix2x2, complex *outMatrix2x2)
 
void Qrack::log2x2 (complex const *matrix2x2, complex *outMatrix2x2)
 
void Qrack::inv2x2 (complex const *matrix2x2, complex *outMatrix2x2)
 
bool Qrack::isOverflowAdd (bitCapInt inOutInt, bitCapInt inInt, const bitCapInt &signMask, const bitCapInt &lengthPower)
 Check if an addition with overflow sets the flag. More...
 
bool Qrack::isOverflowSub (bitCapInt inOutInt, bitCapInt inInt, const bitCapInt &signMask, const bitCapInt &lengthPower)
 Check if a subtraction with overflow sets the flag. More...
 
bitCapInt Qrack::pushApartBits (const bitCapInt &perm, const std::vector< bitCapInt > &skipPowers)
 
bitCapInt Qrack::intPow (bitCapInt base, bitCapInt power)
 
bitCapIntOcl Qrack::intPowOcl (bitCapIntOcl base, bitCapIntOcl power)
 

Variables

const real1_f Qrack::_qrack_qbdt_sep_thresh = FP_NORM_EPSILON