|
Maestro 0.3.11
Unified interface for quantum circuit simulation
|
#include "../../Types.h"#include "../RandomStream.h"#include "AliasBase.h"#include <algorithm>#include <charconv>#include <cmath>#include <cstddef>#include <cstdint>#include <limits>#include <memory>#include <numeric>#include <stdexcept>#include <string_view>#include <type_traits>#include <unordered_map>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | Utils::Sampling::Options |
| class | Utils::Sampling::Prepared< Probability > |
| class | Utils::Sampling::ProbabilityAlias |
Namespaces | |
| namespace | Utils |
| Portable dense contraction kernels. | |
| namespace | Utils::Sampling |
Typedefs | |
| template<bool Many> | |
| using | Utils::Sampling::Counts = std::unordered_map<std::conditional_t<Many, std::vector<bool>, Types::qubit_t>, Types::qubit_t> |
Enumerations | |
| enum class | Utils::Sampling::Family { Utils::Sampling::Auto , Utils::Sampling::Cdf , Utils::Sampling::Alias } |
Functions | |
| void | Utils::Sampling::CheckMass (double total) |
| template<bool Many, class Plan, class Bit, class Uniform> | |
| Counts< Many > | Utils::Sampling::Count (const Plan &plan, size_t shots, size_t bits, const Bit &bit, Uniform &&uniform) |
| template<bool Many, class Range, class Probability, class Bit, class Uniform> | |
| Counts< Many > | Utils::Sampling::CountCdfRange (const Range &rows, size_t shots, size_t bits, const Probability &probability, const Bit &bit, Uniform &&uniform, Options options={}) |
| template<bool Many, class Bit> | |
| Counts< Many > | Utils::Sampling::Single (size_t bits, const Bit &bit) |
| int | Utils::Sampling::Threads (bool permitted, size_t work) |
| template<class Qubits> | |
| void | Utils::Sampling::ValidateQubits (const Qubits &qubits, size_t width, bool many) |
| bool | Utils::Sampling::ValidateSetting (std::string_view name, std::string_view setting) |
| struct Utils::Sampling::Options |
Definition at line 35 of file Sampling.h.
| Class Members | ||
|---|---|---|
| size_t | batchSize = size_t{1} << 20 | |
| Family | family = Family::Auto | |
| size_t | memoryBytes = size_t{256} << 20 | |
| bool | multithreading = false | |