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

#include <NetworkJob.h>

+ Collaboration diagram for Network::ExecuteJob< Time >:

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 21 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 23 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 27 of file NetworkJob.h.

Member Function Documentation

◆ DoWork()

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

Definition at line 41 of file NetworkJob.h.

◆ DoWorkNoLock()

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

Definition at line 154 of file NetworkJob.h.

◆ GetJobCount()

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

Definition at line 308 of file NetworkJob.h.

◆ IsOptimisableForMultipleShots()

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

Definition at line 303 of file NetworkJob.h.

Member Data Documentation

◆ curCnt

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

Definition at line 312 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 310 of file NetworkJob.h.

◆ executedGates

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

Definition at line 323 of file NetworkJob.h.

◆ maxBondDim

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

Definition at line 326 of file NetworkJob.h.

◆ method

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

Definition at line 318 of file NetworkJob.h.

◆ mpsSample

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

Definition at line 328 of file NetworkJob.h.

◆ nrCbits

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

Definition at line 314 of file NetworkJob.h.

◆ nrQubits

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

Definition at line 313 of file NetworkJob.h.

◆ nrResultCbits

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

Definition at line 315 of file NetworkJob.h.

◆ optimiseMultipleShotsExecution

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

Definition at line 321 of file NetworkJob.h.

◆ optSim

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

Definition at line 322 of file NetworkJob.h.

◆ res

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

Definition at line 311 of file NetworkJob.h.

◆ resultsMutex

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

Definition at line 319 of file NetworkJob.h.

◆ simType

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

Definition at line 317 of file NetworkJob.h.

◆ singularValueThreshold

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

Definition at line 327 of file NetworkJob.h.


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