Qrack  10.0
General classical-emulating-quantum development framework
Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
Qrack::TurboBlock Struct Reference

#include <statevector_turboquant.hpp>

Collaboration diagram for Qrack::TurboBlock:
Collaboration graph
[legend]

Public Member Functions

 TurboBlock (int p, int b)
 
 TurboBlock (const TurboBlock &o)
 
TurboBlockoperator= (const TurboBlock &o)
 
void pack_bucket (const size_t idx, const int bucket)
 
int unpack_bucket (const size_t idx) const
 
void compress (const complex *amps)
 
void decompress (complex *amps) const
 
real1 get_total_prob () const
 
void save (std::ostream &os) const
 

Static Public Member Functions

static TurboBlock load (std::istream &is)
 

Public Attributes

size_t D
 
int BITS
 
int LEVELS
 
uint64_t seed
 
std::vector< real1R
 
std::vector< real1RT
 
real1 block_scale
 
size_t NWORDS
 
std::unique_ptr< uint64_t[]> packed
 
bool initialized
 

Friends

std::ostream & operator<< (std::ostream &os, const TurboBlock &b)
 
std::istream & operator>> (std::istream &is, TurboBlock &b)
 

Constructor & Destructor Documentation

◆ TurboBlock() [1/2]

Qrack::TurboBlock::TurboBlock ( int  p,
int  b 
)
inline

◆ TurboBlock() [2/2]

Qrack::TurboBlock::TurboBlock ( const TurboBlock o)
inline

Member Function Documentation

◆ compress()

void Qrack::TurboBlock::compress ( const complex amps)
inline

◆ decompress()

void Qrack::TurboBlock::decompress ( complex amps) const
inline

◆ get_total_prob()

real1 Qrack::TurboBlock::get_total_prob ( ) const
inline

◆ load()

static TurboBlock Qrack::TurboBlock::load ( std::istream &  is)
inlinestatic

◆ operator=()

TurboBlock& Qrack::TurboBlock::operator= ( const TurboBlock o)
inline

◆ pack_bucket()

void Qrack::TurboBlock::pack_bucket ( const size_t  idx,
const int  bucket 
)
inline

◆ save()

void Qrack::TurboBlock::save ( std::ostream &  os) const
inline

◆ unpack_bucket()

int Qrack::TurboBlock::unpack_bucket ( const size_t  idx) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const TurboBlock b 
)
friend

◆ operator>>

std::istream& operator>> ( std::istream &  is,
TurboBlock b 
)
friend

Member Data Documentation

◆ BITS

int Qrack::TurboBlock::BITS

◆ block_scale

real1 Qrack::TurboBlock::block_scale

◆ D

size_t Qrack::TurboBlock::D

◆ initialized

bool Qrack::TurboBlock::initialized

◆ LEVELS

int Qrack::TurboBlock::LEVELS

◆ NWORDS

size_t Qrack::TurboBlock::NWORDS

◆ packed

std::unique_ptr<uint64_t[]> Qrack::TurboBlock::packed

◆ R

std::vector<real1> Qrack::TurboBlock::R

◆ RT

std::vector<real1> Qrack::TurboBlock::RT

◆ seed

uint64_t Qrack::TurboBlock::seed

The documentation for this struct was generated from the following file: