36 virtual const IQubitId *
const getId()
const {
throw std::runtime_error(
"getId is not implemented"); }
37 virtual void relaseBackToPool() {
throw std::runtime_error(
"release back to pool is not implemented. Is this a short-live qubit?"); }
40 virtual void gateX() {
throw std::runtime_error(
"gateX not implemented"); }
41 virtual void gateY() {
throw std::runtime_error(
"gateY not implemented"); }
42 virtual void gateZ() {
throw std::runtime_error(
"gateZ not implemented"); }
43 virtual void gateI() {
throw std::runtime_error(
"gateI not implemented"); }
44 virtual void gateH() {
throw std::runtime_error(
"gateH not implemented"); }
45 virtual void gateT() {
throw std::runtime_error(
"gateT not implemented"); }
46 virtual void gateS() {
throw std::runtime_error(
"gateS not implemented"); }
47 virtual void gateSdg() {
throw std::runtime_error(
"gateS not implemented"); }
50 virtual void gateCNOT(
IQubit *
const target_qubit) {
throw std::runtime_error(
"gateCNOT not implemented"); };
51 virtual void gateCZ(
IQubit *
const target_qubit) {
throw std::runtime_error(
"gateCZ not implemented"); };
54 virtual void noiselessX() {
throw std::runtime_error(
"noiselessX not implemented"); }
55 virtual void noiselessZ() {
throw std::runtime_error(
"noiselessZ not implemented"); }
56 virtual void noiselessH() {
throw std::runtime_error(
"noiselessH not implemented"); }
57 virtual void noiselessCNOT(
IQubit *
const target_qubit) {
throw std::runtime_error(
"noiselessCNOT not implemented"); }
virtual EigenvalueResult noiselessMeasureZ(EigenvalueResult forced_result)
Definition IQubit.h:60
virtual void gateI()
Definition IQubit.h:43
IQubit()
Definition IQubit.h:32
virtual void gateS()
Definition IQubit.h:46
virtual EigenvalueResult measureY()
Definition IQubit.h:65
virtual void gateCZ(IQubit *const target_qubit)
Definition IQubit.h:51
virtual void gateY()
Definition IQubit.h:41
virtual void gateSdg()
Definition IQubit.h:47
virtual void noiselessCNOT(IQubit *const target_qubit)
Definition IQubit.h:57
virtual ~IQubit()
Definition IQubit.h:33
virtual EigenvalueResult noiselessMeasureX(EigenvalueResult forced_result)
Definition IQubit.h:61
virtual EigenvalueResult noiselessMeasureX()
Definition IQubit.h:59
virtual void relaseBackToPool()
Definition IQubit.h:37
virtual EigenvalueResult measureZ()
Definition IQubit.h:66
virtual void noiselessZ()
Definition IQubit.h:55
virtual void gateX()
Definition IQubit.h:40
virtual void gateCNOT(IQubit *const target_qubit)
Definition IQubit.h:50
virtual void gateT()
Definition IQubit.h:45
virtual void noiselessH()
Definition IQubit.h:56
virtual void gateZ()
Definition IQubit.h:42
virtual void gateH()
Definition IQubit.h:44
virtual void noiselessX()
Definition IQubit.h:54
virtual const IQubitId *const getId() const
Definition IQubit.h:36
virtual EigenvalueResult measureX()
Definition IQubit.h:64
virtual EigenvalueResult noiselessMeasureZ()
Definition IQubit.h:58
a key to identify a qubit in a backend.
Definition IQubitId.h:14
Definition IConfiguration.h:4
MeasureZResult
Definition IQubit.h:13
EigenvalueResult
Definition IQubit.h:17
MeasureYResult
Definition IQubit.h:9
MeasureXResult
Definition IQubit.h:5
char basis
Definition IQubit.h:22
char GOD_clean
Definition IQubit.h:24
bool operator==(const MeasurementOutcome &outcome) const
Definition IQubit.h:25
bool outcome_is_plus
Definition IQubit.h:23