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

#include <Alias.h>

Inheritance diagram for Utils::Alias:
Collaboration diagram for Utils::Alias:

Public Member Functions

 Alias ()=delete
 Alias (const std::unordered_map< QC::PathIntegral::FastVectorBool, std::complex< double >, QC::PathIntegral::FastVectorBoolHash > &amplitudesMap)
template<class T = Eigen::VectorXcd>
 Alias (const T &statevector)
size_t Sample (double v) const

Protected Member Functions

void SetAliasTable (std::vector< AliasEntry > &under, std::vector< AliasEntry > &over)

Protected Attributes

std::vector< AliasEntryaliasTable

Static Protected Attributes

static constexpr double oneMinusEps

Detailed Description

Definition at line 97 of file Alias.h.

Constructor & Destructor Documentation

◆ Alias() [1/3]

Utils::Alias::Alias ( )
delete

◆ Alias() [2/3]

template<class T = Eigen::VectorXcd>
Utils::Alias::Alias ( const T & statevector)
inline

◆ Alias() [3/3]

Utils::Alias::Alias ( const std::unordered_map< QC::PathIntegral::FastVectorBool, std::complex< double >, QC::PathIntegral::FastVectorBoolHash > & amplitudesMap)
inline

Definition at line 166 of file Alias.h.

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

Member Function Documentation

◆ Sample()

size_t Utils::Alias::Sample ( double v) const
inline

Definition at line 199 of file Alias.h.

References Utils::AliasBase::aliasTable, and Utils::AliasBase::oneMinusEps.

◆ SetAliasTable()

void Utils::AliasBase::SetAliasTable ( std::vector< AliasEntry > & under,
std::vector< AliasEntry > & over )
inlineprotectedinherited

Member Data Documentation

◆ aliasTable

std::vector<AliasEntry> Utils::AliasBase::aliasTable
protectedinherited

◆ oneMinusEps

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

Definition at line 92 of file Alias.h.

Referenced by Utils::Alias::Alias(), Utils::Alias::Sample(), and Utils::AliasBig::Sample().


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