MCPcopy Create free account
hub / github.com/OriginQ/QPanda-2 / real_chip_task_validation

Method real_chip_task_validation

Extensions/PilotOSMachine/QPilotOSMachine.cpp:1610–1630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1608}
1609
1610void QPilotOSMachine::real_chip_task_validation(int shots, QProg& prog)
1611{
1612 QVec qubits;
1613 std::vector<int> cbits;
1614
1615 auto qbit_num = get_all_used_qubits(prog, cbits);
1616 auto cbit_num = get_all_used_class_bits(prog, cbits);
1617
1618 QPANDA_ASSERT(qbit_num > 6 || cbit_num > 6, "real chip qubit num or cbit num are not less or equal to 6");
1619 QPANDA_ASSERT(shots > 10000 || shots < 1000, "real chip shots must be in range [1000,10000]");
1620
1621 TraversalConfig traver_param;
1622 QProgCheck prog_check;
1623 prog_check.execute(prog.getImplementationPtr(), nullptr, traver_param);
1624
1625 if (!traver_param.m_can_optimize_measure)
1626 {
1627 QCERR("measure must be last");
1628 throw run_fail("measure must be last");
1629 }
1630}
1631
1632void QPilotOSMachine::construct_real_chip_task_json(
1633 rabbit::document& doc,

Callers

nothing calls this directly

Calls 3

run_failClass · 0.85
executeMethod · 0.45
getImplementationPtrMethod · 0.45

Tested by

no test coverage detected