Qrack  10.0
General classical-emulating-quantum development framework
Classes | Namespaces | Macros | Typedefs | Functions
statevector_turboquant.hpp File Reference
#include "statevector.hpp"
#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
#include <mutex>
#include <random>
#include <vector>
Include dependency graph for statevector_turboquant.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Qrack::TurboBlock
 
class  Qrack::StateVectorTurboQuant
 

Namespaces

 Qrack
 GLOSSARY: bitLenInt - "bit-length integer" - unsigned integer ID of qubit position in register bitCapInt - "bit-capacity integer" - unsigned integer single-permutation value of a qubit register (typically "big integer") real1 - "real number (1-dimensional)" - floating-point real-valued number complex - "complex number" - floating-point complex-valued number (with two real1 component dimensions) quid - "quantum (simulator) unique identifier" - unsigned integer that indexes and IDs running simulators, circuits, and neurons.
 

Macros

#define QRACK_TURBO_BITS   4
 

Typedefs

typedef std::shared_ptr< StateVectorTurboQuant > Qrack::StateVectorTurboQuantPtr
 

Functions

static std::vector< real1 > Qrack::_tq_make_rotation (const size_t d, const uint64_t seed)
 
static std::vector< real1 > Qrack::_tq_make_rotation (const size_t d, uint64_t *seed_out)
 
static std::vector< real1 > Qrack::_tq_transpose (const std::vector< real1 > &R, const size_t d)
 
static void Qrack::_tq_rotate (const real1 *v, const std::vector< real1 > &R, const size_t d, real1 *out)
 
static int Qrack::_tq_quant_bucket (const real1 val, const real1 scale, const int bits)
 
static real1 Qrack::_tq_dequant (const int bucket, const real1 scale, const int bits)
 
static void Qrack::_tq_write_size (std::ostream &os, const size_t x)
 
static void Qrack::_tq_write_int (std::ostream &os, const int x)
 
static void Qrack::_tq_write_bool (std::ostream &os, const bool x)
 
static size_t Qrack::_tq_read_size (std::istream &is)
 
static int Qrack::_tq_read_int (std::istream &is)
 
static bool Qrack::_tq_read_bool (std::istream &is)
 

Macro Definition Documentation

◆ QRACK_TURBO_BITS

#define QRACK_TURBO_BITS   4