.. index:: pair: class; QPanda::CPUSingleThreadQVM .. _doxid-class_q_panda_1_1_c_p_u_single_thread_q_v_m: class QPanda::CPUSingleThreadQVM ================================ .. toctree:: :hidden: Overview ~~~~~~~~ .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class CPUSingleThreadQVM: public :ref:`QPanda::IdealQVM` { public: // methods virtual void :ref:`init`(); }; Inherited Members ----------------- .. ref-code-block:: cpp :class: doxyrest-overview-inherited-code-block public: // methods virtual :ref:`Qubit`* :ref:`allocateQubitThroughPhyAddress`(size_t) = 0; virtual :ref:`Qubit`* :ref:`allocateQubitThroughVirAddress`(size_t) = 0; virtual void :ref:`init`() = 0; virtual :ref:`QMachineStatus`* :ref:`getStatus`() const = 0; virtual std::map :ref:`directlyRun`(:ref:`QProg`& qProg) = 0; virtual std::map :ref:`runWithConfiguration`(:ref:`QProg`&, std::vector<:ref:`ClassicalCondition`>&, rapidjson::Document&) = 0; virtual std::map :ref:`runWithConfiguration`(:ref:`QProg`&, std::vector<:ref:`ClassicalCondition`>&, int) = 0; virtual std::map<:ref:`GateType`, size_t> :ref:`getGateTimeMap`() const = 0; virtual void :ref:`finalize`() = 0; virtual :ref:`QStat` :ref:`getQState`() const = 0; virtual size_t :ref:`getVirtualQubitAddress`(:ref:`Qubit`*) const = 0; virtual bool :ref:`swapQubitPhysicalAddress`(:ref:`Qubit`*, :ref:`Qubit`*) = 0; virtual void :ref:`setConfig`(const :ref:`Configuration`&) = 0; virtual :ref:`Qubit`* :ref:`allocateQubit`() = 0; virtual :ref:`QVec` :ref:`allocateQubits`(size_t) = 0; virtual :ref:`ClassicalCondition` :ref:`allocateCBit`() = 0; virtual :ref:`ClassicalCondition` :ref:`allocateCBit`(size_t) = 0; virtual std::vector<:ref:`ClassicalCondition`> :ref:`allocateCBits`(size_t) = 0; virtual void :ref:`Free_Qubit`(:ref:`Qubit`*) = 0; virtual void :ref:`Free_Qubits`(:ref:`QVec`&) = 0; virtual void :ref:`Free_CBit`(:ref:`ClassicalCondition`&) = 0; virtual void :ref:`Free_CBits`(std::vector<:ref:`ClassicalCondition`>&) = 0; virtual size_t :ref:`getAllocateQubit`() = 0; virtual size_t :ref:`getAllocateCMem`() = 0; virtual void :ref:`setConfigure`(const :ref:`Configuration`&) = 0; virtual :ref:`Qubit`* :ref:`qAlloc`() = 0; virtual :ref:`QVec` :ref:`qAllocMany`(size_t qubit_count) = 0; virtual :ref:`ClassicalCondition` :ref:`cAlloc`() = 0; virtual :ref:`ClassicalCondition` :ref:`cAlloc`(size_t) = 0; virtual std::vector<:ref:`ClassicalCondition`> :ref:`cAllocMany`(size_t) = 0; virtual void :ref:`qFree`(:ref:`Qubit`*) = 0; virtual void :ref:`qFreeAll`(:ref:`QVec`&) = 0; virtual void :ref:`cFree`(:ref:`ClassicalCondition`&) = 0; virtual void :ref:`cFreeAll`(std::vector<:ref:`ClassicalCondition`>&) = 0; virtual size_t :ref:`getAllocateQubitNum`() = 0; virtual size_t :ref:`getAllocateCMemNum`() = 0; virtual void :ref:`initState`(const :ref:`QStat`& state = {}, const :ref:`QVec`& qlist = {}) = 0; virtual size_t :ref:`get_allocate_qubits`(:ref:`QVec`&) = 0; virtual size_t :ref:`get_allocate_cbits`(std::vector<:ref:`ClassicalCondition`>&) = 0; virtual double :ref:`get_expectation`(:ref:`QProg`, const QHamiltonian&, const :ref:`QVec`&) = 0; virtual double :ref:`get_expectation`(:ref:`QProg`, const QHamiltonian&, const :ref:`QVec`&, int) = 0; virtual void :ref:`initState`(const :ref:`QStat`& state = {}, const :ref:`QVec`& qlist = {}); virtual :ref:`Qubit`* :ref:`allocateQubitThroughPhyAddress`(size_t); virtual :ref:`Qubit`* :ref:`allocateQubitThroughVirAddress`(size_t); virtual :ref:`QMachineStatus`* :ref:`getStatus`() const; virtual :ref:`QResult`* :ref:`getResult`(); virtual std::map :ref:`getResultMap`(); virtual void :ref:`finalize`(); virtual std::map :ref:`directlyRun`(:ref:`QProg`& qProg); virtual std::map :ref:`runWithConfiguration`(:ref:`QProg`&, std::vector<:ref:`ClassicalCondition`>&, rapidjson::Document&); virtual std::map :ref:`runWithConfiguration`(:ref:`QProg`&, std::vector<:ref:`ClassicalCondition`>&, int); virtual std::map :ref:`runWithConfiguration`(:ref:`QProg`&, std::vector&, int); virtual std::map<:ref:`GateType`, size_t> :ref:`getGateTimeMap`() const; virtual :ref:`QStat` :ref:`getQState`() const; virtual size_t :ref:`getVirtualQubitAddress`(:ref:`Qubit`*) const; virtual bool :ref:`swapQubitPhysicalAddress`(:ref:`Qubit`*, :ref:`Qubit`*); virtual void :ref:`set_random_engine`(:ref:`RandomEngine`* rng); virtual void :ref:`setConfig`(const :ref:`Configuration`& config); virtual :ref:`Qubit`* :ref:`allocateQubit`(); virtual :ref:`QVec` :ref:`allocateQubits`(size_t); virtual :ref:`ClassicalCondition` :ref:`allocateCBit`(); virtual std::vector<:ref:`ClassicalCondition`> :ref:`allocateCBits`(size_t); virtual :ref:`ClassicalCondition` :ref:`allocateCBit`(size_t); virtual size_t :ref:`getAllocateQubit`(); virtual size_t :ref:`getAllocateCMem`(); virtual void :ref:`Free_Qubit`(:ref:`Qubit`*); virtual void :ref:`Free_Qubits`(:ref:`QVec`&); virtual void :ref:`Free_CBit`(:ref:`ClassicalCondition`&); virtual void :ref:`Free_CBits`(std::vector<:ref:`ClassicalCondition`>&); virtual void :ref:`setConfigure`(const :ref:`Configuration`&); virtual :ref:`Qubit`* :ref:`qAlloc`(); virtual :ref:`QVec` :ref:`qAllocMany`(size_t qubit_count); virtual :ref:`ClassicalCondition` :ref:`cAlloc`(); virtual :ref:`ClassicalCondition` :ref:`cAlloc`(size_t); virtual std::vector<:ref:`ClassicalCondition`> :ref:`cAllocMany`(size_t); virtual void :ref:`qFree`(:ref:`Qubit`*); virtual void :ref:`qFreeAll`(:ref:`QVec`&); virtual void :ref:`cFree`(:ref:`ClassicalCondition`&); virtual void :ref:`cFreeAll`(std::vector<:ref:`ClassicalCondition`>&); virtual size_t :ref:`getAllocateQubitNum`(); virtual size_t :ref:`getAllocateCMemNum`(); virtual size_t :ref:`get_allocate_qubits`(:ref:`QVec`&); virtual size_t :ref:`get_allocate_cbits`(std::vector<:ref:`ClassicalCondition`>&); virtual double :ref:`get_expectation`(:ref:`QProg`, const QHamiltonian&, const :ref:`QVec`&); virtual double :ref:`get_expectation`(:ref:`QProg`, const QHamiltonian&, const :ref:`QVec`&, int); virtual :ref:`prob_vec` :ref:`PMeasure_no_index`(:ref:`QVec` qubit_vector) = 0; virtual :ref:`prob_tuple` :ref:`getProbTupleList`(:ref:`QVec`, int) = 0; virtual :ref:`prob_vec` :ref:`getProbList`(:ref:`QVec`, int) = 0; virtual :ref:`prob_dict` :ref:`getProbDict`(:ref:`QVec`, int) = 0; virtual :ref:`prob_tuple` :ref:`probRunTupleList`(:ref:`QProg`&, :ref:`QVec`, int) = 0; virtual :ref:`prob_vec` :ref:`probRunList`(:ref:`QProg`&, :ref:`QVec`, int) = 0; virtual :ref:`prob_dict` :ref:`probRunDict`(:ref:`QProg`&, :ref:`QVec`, int) = 0; virtual std::map :ref:`quickMeasure`(:ref:`QVec`, size_t) = 0; virtual :ref:`prob_tuple` :ref:`PMeasure`(:ref:`QVec` qubit_vector, int select_max) = 0; virtual :ref:`QStat` :ref:`getQStat`() = 0; virtual :ref:`prob_tuple` :ref:`getProbTupleList`(:ref:`QVec`, int selectMax = -1); virtual :ref:`prob_vec` :ref:`getProbList`(:ref:`QVec`, int selectMax = -1); virtual :ref:`prob_dict` :ref:`getProbDict`(:ref:`QVec`, int selectMax = -1); virtual :ref:`prob_tuple` :ref:`probRunTupleList`(:ref:`QProg`&, :ref:`QVec`, int selectMax = -1); virtual :ref:`prob_vec` :ref:`probRunList`(:ref:`QProg`&, :ref:`QVec`, int selectMax = -1); virtual :ref:`prob_dict` :ref:`probRunDict`(:ref:`QProg`&, :ref:`QVec`, int selectMax = -1); :ref:`prob_tuple` :ref:`probRunTupleList`(:ref:`QProg`&, const std::vector&, int selectMax = -1); :ref:`prob_vec` :ref:`probRunList`(:ref:`QProg`&, const std::vector&, int selectMax = -1); :ref:`prob_dict` :ref:`probRunDict`(:ref:`QProg`&, const std::vector&, int selectMax = -1); virtual std::map :ref:`quickMeasure`(:ref:`QVec`, size_t); virtual :ref:`QStat` :ref:`getQStat`(); virtual :ref:`prob_tuple` :ref:`PMeasure`(:ref:`QVec` qubit_vector, int select_max); virtual :ref:`prob_vec` :ref:`PMeasure_no_index`(:ref:`QVec` qubit_vector); :ref:`QStat` :ref:`getQState`(); :ref:`prob_tuple` :ref:`pMeasure`(:ref:`QVec` qubit_vector, int select_max); :ref:`prob_vec` :ref:`pMeasureNoIndex`(:ref:`QVec` qubit_vector); .. _details-class_q_panda_1_1_c_p_u_single_thread_q_v_m: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Methods ------- .. index:: pair: function; init .. _doxid-class_q_panda_1_1_c_p_u_single_thread_q_v_m_1a292d0642773efbd9f08d319f8f1fcfd0: .. ref-code-block:: cpp :class: doxyrest-title-code-block virtual void init() init .. rubric:: Returns: void