class QPanda::RandomizedBenchmarking

#include <RandomizedBenchmarking.h>

class RandomizedBenchmarking
{
public:
    // typedefs

    typedef std::vector<std::vector<std::shared_ptr<RBGate>>> CliffordsSeq;

    // structs

    struct Cliffords;

    // construction

    RandomizedBenchmarking(
        MeasureQVMType type,
        QuantumMachine* qvm
        );

    // methods

    std::map<int, double> single_qubit_rb(
        Qubit* qbit,
        const std::vector<int>& clifford_range,
        int num_circuits,
        int shots,
        const std::vector<QGate>& interleaved_gates = {}
        );

    std::map<int, double> two_qubit_rb(
        Qubit* qbit0,
        Qubit* qbit1,
        const std::vector<int>& clifford_range,
        int num_circuits,
        int shots,
        const std::vector<QGate>& interleaved_gates = {}
        );
};