Maestro 0.1.0
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Network::ExecuteJob< Time > Class Template Reference

#include <NetworkJob.h>

Public Types

using ExecuteResults = typename Circuits::Circuit<Time>::ExecuteResults

Public Member Functions

 ExecuteJob ()=delete
 ExecuteJob (const std::shared_ptr< Circuits::Circuit< Time > > &c, ExecuteResults &r, size_t cnt, size_t nq, size_t nc, size_t ncr, Simulators::SimulatorType t, Simulators::SimulationType m, std::mutex &mut)
void DoWork ()
void DoWorkNoLock ()
size_t GetJobCount () const

Static Public Member Functions

static bool IsOptimisableForMultipleShots (Simulators::SimulatorType t, size_t curCnt)

Public Attributes

const std::shared_ptr< Circuits::Circuit< Time > > dcirc
ExecuteResultsres
const size_t curCnt
const size_t nrQubits
const size_t nrCbits
const size_t nrResultCbits
const Simulators::SimulatorType simType
const Simulators::SimulationType method
std::mutex & resultsMutex
bool optimiseMultipleShotsExecution = true
std::shared_ptr< Simulators::ISimulatoroptSim
std::vector< bool > executedGates
std::string maxBondDim
std::string singularValueThreshold
std::string mpsSample

Detailed Description

template<typename Time = Types::time_type>
class Network::ExecuteJob< Time >

Definition at line 20 of file NetworkJob.h.

Member Typedef Documentation

◆ ExecuteResults

template<typename Time = Types::time_type>
using Network::ExecuteJob< Time >::ExecuteResults = typename Circuits::Circuit<Time>::ExecuteResults

Definition at line 22 of file NetworkJob.h.

Constructor & Destructor Documentation

◆ ExecuteJob() [1/2]

template<typename Time = Types::time_type>
Network::ExecuteJob< Time >::ExecuteJob ( )
delete

◆ ExecuteJob() [2/2]

template<typename Time = Types::time_type>
Network::ExecuteJob< Time >::ExecuteJob ( const std::shared_ptr< Circuits::Circuit< Time > > & c,
ExecuteResults & r,
size_t cnt,
size_t nq,
size_t nc,
size_t ncr,
Simulators::SimulatorType t,
Simulators::SimulationType m,
std::mutex & mut )
inlineexplicit

Definition at line 26 of file NetworkJob.h.

Member Function Documentation

◆ DoWork()

template<typename Time = Types::time_type>
void Network::ExecuteJob< Time >::DoWork ( )
inline

Definition at line 33 of file NetworkJob.h.

◆ DoWorkNoLock()

template<typename Time = Types::time_type>
void Network::ExecuteJob< Time >::DoWorkNoLock ( )
inline

Definition at line 146 of file NetworkJob.h.

◆ GetJobCount()

template<typename Time = Types::time_type>
size_t Network::ExecuteJob< Time >::GetJobCount ( ) const
inline

Definition at line 280 of file NetworkJob.h.

◆ IsOptimisableForMultipleShots()

template<typename Time = Types::time_type>
bool Network::ExecuteJob< Time >::IsOptimisableForMultipleShots ( Simulators::SimulatorType t,
size_t curCnt )
inlinestatic

Definition at line 275 of file NetworkJob.h.

Member Data Documentation

◆ curCnt

template<typename Time = Types::time_type>
const size_t Network::ExecuteJob< Time >::curCnt

Definition at line 284 of file NetworkJob.h.

◆ dcirc

template<typename Time = Types::time_type>
const std::shared_ptr<Circuits::Circuit<Time> > Network::ExecuteJob< Time >::dcirc

Definition at line 282 of file NetworkJob.h.

◆ executedGates

template<typename Time = Types::time_type>
std::vector<bool> Network::ExecuteJob< Time >::executedGates

Definition at line 295 of file NetworkJob.h.

◆ maxBondDim

template<typename Time = Types::time_type>
std::string Network::ExecuteJob< Time >::maxBondDim

Definition at line 298 of file NetworkJob.h.

◆ method

template<typename Time = Types::time_type>
const Simulators::SimulationType Network::ExecuteJob< Time >::method

Definition at line 290 of file NetworkJob.h.

◆ mpsSample

template<typename Time = Types::time_type>
std::string Network::ExecuteJob< Time >::mpsSample

Definition at line 300 of file NetworkJob.h.

◆ nrCbits

template<typename Time = Types::time_type>
const size_t Network::ExecuteJob< Time >::nrCbits

Definition at line 286 of file NetworkJob.h.

◆ nrQubits

template<typename Time = Types::time_type>
const size_t Network::ExecuteJob< Time >::nrQubits

Definition at line 285 of file NetworkJob.h.

◆ nrResultCbits

template<typename Time = Types::time_type>
const size_t Network::ExecuteJob< Time >::nrResultCbits

Definition at line 287 of file NetworkJob.h.

◆ optimiseMultipleShotsExecution

template<typename Time = Types::time_type>
bool Network::ExecuteJob< Time >::optimiseMultipleShotsExecution = true

Definition at line 293 of file NetworkJob.h.

◆ optSim

template<typename Time = Types::time_type>
std::shared_ptr<Simulators::ISimulator> Network::ExecuteJob< Time >::optSim

Definition at line 294 of file NetworkJob.h.

◆ res

template<typename Time = Types::time_type>
ExecuteResults& Network::ExecuteJob< Time >::res

Definition at line 283 of file NetworkJob.h.

◆ resultsMutex

template<typename Time = Types::time_type>
std::mutex& Network::ExecuteJob< Time >::resultsMutex

Definition at line 291 of file NetworkJob.h.

◆ simType

template<typename Time = Types::time_type>
const Simulators::SimulatorType Network::ExecuteJob< Time >::simType

Definition at line 289 of file NetworkJob.h.

◆ singularValueThreshold

template<typename Time = Types::time_type>
std::string Network::ExecuteJob< Time >::singularValueThreshold

Definition at line 299 of file NetworkJob.h.


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