class QPanda::QProgExecution¶
Overview¶
Qunatum Execution. More…
#include <QProgExecution.h> class QProgExecution { public: // methods virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractQuantumCircuit> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractQuantumProgram> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu ); void get_return_value(std::map<std::string, bool>& result); };
Detailed Documentation¶
Qunatum Execution.
Methods¶
virtual void execute( std::shared_ptr<AbstractQGateNode> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal qgatenode.
Parameters:
AbstractQGateNode* |
quantum gate |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractQuantumMeasure> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal measure node.
Parameters:
AbstractQuantumMeasure* |
measure node |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractQuantumReset> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal reset node.
Parameters:
AbstractQuantumReset* |
reset node |
QNode* |
parent node |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractControlFlowNode> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal control flow node.
Parameters:
AbstractControlFlowNode* |
control flow node |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractQuantumCircuit> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal qcircuit.
Parameters:
AbstractQuantumCircuit* |
quantum circuit |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractQuantumProgram> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal qprog.
Parameters:
AbstractQuantumProgram* |
quantum prog |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
virtual void execute( std::shared_ptr<AbstractClassicalProg> cur_node, std::shared_ptr<QNode> parent_node, TraversalConfig& param, QPUImpl* qpu )
Execution traversal qprog.
Parameters:
AbstractClassicalProg* |
quantum prog |
AbstractQGateNode* |
quantum gate |
traversal config |
|
QPUImpl* |
virtual quantum processor |
Returns:
void
void get_return_value(std::map<std::string, bool>& result)
get result value
Parameters:
std::map<std::string |
|
bool> |
& result map |