Maestro 0.3.11
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Utils::AliasBig Class Reference

#include <Alias.h>

Inheritance diagram for Utils::AliasBig:
Collaboration diagram for Utils::AliasBig:

Public Member Functions

 AliasBig ()=delete
 AliasBig (const PathIntegralAmplitudeMap &amplitudesMap)
QC::PathIntegral::FastVectorBool Sample (double v) const

Protected Member Functions

template<class Index, class Populate>
void BuildAliasTable (std::vector< Index > &aliases, const Populate &populate)
size_t SampleIndex (double v) const
template<class Populate>
void SetAliasTable (size_t count, const Populate &populate)

Static Protected Member Functions

static constexpr bool UseCompactIndices (size_t count)

Protected Attributes

std::vector< uint32_t > compactAliases
std::vector< double > probabilities
std::vector< uint64_t > wideAliases

Static Protected Attributes

static constexpr double oneMinusEps = 1. - std::numeric_limits<double>::epsilon()

Detailed Description

Definition at line 120 of file Alias.h.

Constructor & Destructor Documentation

◆ AliasBig() [1/2]

Utils::AliasBig::AliasBig ( )
delete

◆ AliasBig() [2/2]

Utils::AliasBig::AliasBig ( const PathIntegralAmplitudeMap & amplitudesMap)
inline

Definition at line 125 of file Alias.h.

References Utils::PathIntegralMass(), and Utils::AliasBase::SetAliasTable().

Member Function Documentation

◆ BuildAliasTable()

template<class Index, class Populate>
void Utils::AliasBase::BuildAliasTable ( std::vector< Index > & aliases,
const Populate & populate )
inlineprotectedinherited

Definition at line 40 of file AliasBase.h.

References probabilities.

Referenced by SetAliasTable().

◆ Sample()

QC::PathIntegral::FastVectorBool Utils::AliasBig::Sample ( double v) const
inline

Definition at line 147 of file Alias.h.

References Utils::AliasBase::SampleIndex().

◆ SampleIndex()

size_t Utils::AliasBase::SampleIndex ( double v) const
inlineprotectedinherited

◆ SetAliasTable()

template<class Populate>
void Utils::AliasBase::SetAliasTable ( size_t count,
const Populate & populate )
inlineprotectedinherited

◆ UseCompactIndices()

constexpr bool Utils::AliasBase::UseCompactIndices ( size_t count)
inlinestaticconstexprprotectedinherited

Definition at line 17 of file AliasBase.h.

Referenced by SetAliasTable().

Member Data Documentation

◆ compactAliases

std::vector<uint32_t> Utils::AliasBase::compactAliases
protectedinherited

Definition at line 116 of file AliasBase.h.

Referenced by SampleIndex(), and SetAliasTable().

◆ oneMinusEps

double Utils::AliasBase::oneMinusEps = 1. - std::numeric_limits<double>::epsilon()
staticconstexprprotectedinherited

Definition at line 118 of file AliasBase.h.

Referenced by Utils::Alias::Alias(), and SampleIndex().

◆ probabilities

std::vector<double> Utils::AliasBase::probabilities
protectedinherited

Definition at line 115 of file AliasBase.h.

Referenced by BuildAliasTable(), SampleIndex(), and SetAliasTable().

◆ wideAliases

std::vector<uint64_t> Utils::AliasBase::wideAliases
protectedinherited

Definition at line 117 of file AliasBase.h.

Referenced by SampleIndex(), and SetAliasTable().


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