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

#include <NetworkJob.h>

+ Inheritance diagram for Network::ExecuteJob< Time >:
+ 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 size_t curCnt
 
const std::shared_ptr< Circuits::Circuit< Time > > dcirc
 
std::vector< bool > executedGates
 
std::string maxBondDim
 
const Simulators::SimulationType method
 
std::string mpsSample
 
const size_t nrCbits
 
const size_t nrQubits
 
const size_t nrResultCbits
 
bool optimiseMultipleShotsExecution = true
 
std::shared_ptr< Simulators::ISimulatoroptSim
 
ExecuteResultsres
 
std::mutex & resultsMutex
 
const Simulators::SimulatorType simType
 
std::string singularValueThreshold
 

Detailed Description

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

Definition at line 22 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 24 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 28 of file NetworkJob.h.

Member Function Documentation

◆ DoWork()

◆ DoWorkNoLock()

◆ GetJobCount()

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

Definition at line 309 of file NetworkJob.h.

References Network::ExecuteJob< Time >::curCnt.

◆ IsOptimisableForMultipleShots()

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

Definition at line 304 of file NetworkJob.h.

References Network::ExecuteJob< Time >::curCnt.

Member Data Documentation

◆ curCnt

◆ dcirc

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

◆ executedGates

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

◆ maxBondDim

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

◆ method

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

◆ mpsSample

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

◆ nrCbits

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

◆ nrQubits

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

◆ nrResultCbits

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

◆ optimiseMultipleShotsExecution

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

◆ optSim

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

◆ res

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

◆ resultsMutex

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

Definition at line 320 of file NetworkJob.h.

Referenced by Network::ExecuteJob< Time >::DoWork().

◆ simType

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

◆ singularValueThreshold

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

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