Maestro 0.2.11
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
std::shared_ptr< Circuits::Circuit< Time > > dcirc
std::vector< bool > executedGates
std::string maxBondDim
const Simulators::SimulationType method
std::string mpsSample
std::shared_ptr< Network::INetwork< Time > > network
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 26 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 28 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 32 of file NetworkJob.h.

References curCnt, dcirc, method, nrCbits, nrQubits, nrResultCbits, res, resultsMutex, and simType.

Member Function Documentation

◆ DoWork()

◆ DoWorkNoLock()

◆ GetJobCount()

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

Definition at line 361 of file NetworkJob.h.

References curCnt.

◆ IsOptimisableForMultipleShots()

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

Definition at line 356 of file NetworkJob.h.

References curCnt.

Member Data Documentation

◆ curCnt

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

◆ dcirc

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

Definition at line 447 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ executedGates

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

Definition at line 460 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ maxBondDim

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

Definition at line 463 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ method

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

Definition at line 455 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ mpsSample

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

Definition at line 465 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ network

template<typename Time = Types::time_type>
std::shared_ptr<Network::INetwork<Time> > Network::ExecuteJob< Time >::network

Definition at line 467 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ nrCbits

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

Definition at line 451 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ nrQubits

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

Definition at line 450 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ nrResultCbits

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

Definition at line 452 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ optimiseMultipleShotsExecution

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

Definition at line 458 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ optSim

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

Definition at line 459 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().

◆ res

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

Definition at line 448 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ resultsMutex

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

Definition at line 456 of file NetworkJob.h.

Referenced by ExecuteJob(), and DoWork().

◆ simType

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

Definition at line 454 of file NetworkJob.h.

Referenced by ExecuteJob(), DoWork(), and DoWorkNoLock().

◆ singularValueThreshold

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

Definition at line 464 of file NetworkJob.h.

Referenced by DoWork(), and DoWorkNoLock().


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