Qrack  1.7
General classical-emulating-quantum development framework
Classes | Namespaces | Macros | Typedefs | Enumerations
qinterface.hpp File Reference
#include <ctime>
#include <map>
#include <math.h>
#include <memory>
#include <random>
#include <vector>
#include "config.h"
#include "common/complex16simd.hpp"
Include dependency graph for qinterface.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Qrack::QInterface
 A "Qrack::QInterface" is an abstract interface exposing qubit permutation state vector with methods to operate on it as by gates and register-like instructions. More...
 

Namespaces

 Qrack
 

Macros

#define bitLenInt   uint8_t
 
#define bitCapInt   uint64_t
 
#define bitsInByte   8
 
#define complex   Complex16Simd
 
#define real1   double
 
#define min_norm   1e-15
 
#define ALIGN_SIZE   64
 

Typedefs

typedef std::shared_ptr< QInterface > Qrack::QInterfacePtr
 

Enumerations

enum  Qrack::QInterfaceEngine {
  Qrack::QINTERFACE_CPU = 0, Qrack::QINTERFACE_OPENCL, Qrack::QINTERFACE_OPENCL_MULTI, Qrack::QINTERFACE_QUNIT,
  Qrack::QINTERFACE_FIRST = QINTERFACE_CPU, Qrack::QINTERFACE_OPTIMAL = QINTERFACE_CPU, Qrack::QINTERFACE_MAX
}
 Enumerated list of supported engines. More...
 

Macro Definition Documentation

#define ALIGN_SIZE   64
#define bitCapInt   uint64_t
#define bitLenInt   uint8_t
#define bitsInByte   8
#define complex   Complex16Simd
#define min_norm   1e-15
#define real1   double