class QPanda::OriginQubitPool¶
Overview¶
#include <OriginQuantumMachine.h> class OriginQubitPool: public QPanda::QubitPool { public: // methods static OriginQubitPool* get_instance(); size_t get_capacity(); void set_capacity(size_t); Qubit* get_qubit_by_addr(size_t qaddr); virtual void clearAll(); virtual size_t getMaxQubit() const; virtual size_t getIdleQubit() const; virtual size_t get_max_usedqubit_addr() const; virtual Qubit* allocateQubit(); virtual Qubit* allocateQubitThroughPhyAddress(size_t); virtual Qubit* allocateQubitThroughVirAddress(size_t qubit_num); virtual void Free_Qubit(Qubit*); virtual size_t getPhysicalQubitAddr(Qubit*); virtual size_t getVirtualQubitAddress(Qubit*) const; virtual size_t get_allocate_qubits(std::vector<Qubit*>&) const; Qubit* qAlloc(); QVec qAllocMany(size_t); void qFree(Qubit*); void qFreeAll(QVec&); };
Inherited Members¶
public: // methods virtual size_t getMaxQubit() const = 0; virtual size_t get_max_usedqubit_addr() const = 0; virtual size_t getIdleQubit() const = 0; virtual Qubit* allocateQubit() = 0; virtual Qubit* allocateQubitThroughPhyAddress(size_t) = 0; virtual Qubit* allocateQubitThroughVirAddress(size_t qubit_num) = 0; virtual void Free_Qubit(Qubit*) = 0; virtual void clearAll() = 0; virtual size_t getPhysicalQubitAddr(Qubit*) = 0; virtual size_t getVirtualQubitAddress(Qubit*) const = 0; virtual size_t get_allocate_qubits(std::vector<Qubit*>&) const = 0;
Detailed Documentation¶
Methods¶
virtual void clearAll()
clear the PhysicalQubit vector
virtual size_t getMaxQubit() const
get size of the PhysicalQubit vector
Returns:
size_t
virtual size_t getIdleQubit() const
get size of the idle position
Returns:
size_t
virtual size_t get_max_usedqubit_addr() const
Gets the largest address in the used physical qubit.
Returns:
size_t
virtual Qubit* allocateQubit()
allocate a Qubit
Returns:
Qubit*
virtual Qubit* allocateQubitThroughPhyAddress(size_t)
allocate a Qubit through physical address
Returns:
Qubit*
virtual Qubit* allocateQubitThroughVirAddress(size_t qubit_num)
allocate a Qubit through virtual address
Returns:
Qubit*
virtual void Free_Qubit(Qubit*)
free a Qubit
virtual size_t getPhysicalQubitAddr(Qubit*)
get physical qubit address
Parameters:
Qubit* |
Returns:
size_t
virtual size_t getVirtualQubitAddress(Qubit*) const
get virtual qubit address
Parameters:
Qubit* |
Returns:
size_t
virtual size_t get_allocate_qubits(std::vector<Qubit*>&) const
get allocate qubits
Parameters:
QVec& |
Returns:
size_t