class QPanda::UncompletedGridDevice¶
UncompletedGridDevice is a derived class of SimpleGridDevice Compared with SimpleGridDevice, some qubits are NOT AVAILABLE, but the adjacent relation is the same e.g. google Sycamore q54.
#include <GridDevice.h> class UncompletedGridDevice: public QPanda::SimpleGridDevice { public: // construction UncompletedGridDevice( int m, int n, const bool* available_qubits ); // methods void resetAvailableQubits(const bool* available_qubits); bool isQubitAvailable( int i, int j ); };
Inherited Members¶
public: // structs struct PhysicalQubit; // methods void clear(); int getM(); int getN(); auto& getQubit(int i, int j); bool canApplyGate(int i1, int j1, int i2, int j2, int); bool canApplyGate(int i, int j, int); bool canSwap(int i1, int j1, int i2, int j2); void applySingleGate(int i, int j); void applyGate(int i1, int j1, int i2, int j2, int time); void applyDoubleGate(int i1, int j1, int i2, int j2); void applySwap(int i1, int j1, int i2, int j2); virtual bool isNearBy(int i1, int j1, int i2, int j2) = 0; virtual int getDistance(int i1, int j1, int i2, int j2) = 0; void map(int dest, int i, int j); void resetTime(); void nextCycle(); int maxTime(); int getTime(); bool isQubitFree(int i, int j); bool isAllQubitFree(); bool isSimpleGridDevice(); bool isSupportSwapGate(); virtual bool isNearBy(int i1, int j1, int i2, int j2); virtual int getDistance(int i1, int j1, int i2, int j2);