3#include <gmock/gmock.h>
23 using IStationaryQubit::initialize;
24 using IStationaryQubit::par;
39 MOCK_METHOD(
void,
Lock, (
unsigned long rs_id,
int rule_id,
int action_id), (
override));
53 setParDouble(
this,
"emission_success_probability", 0.5);
54 setParDouble(
this,
"memory_x_error_rate", 1.11111111e-7);
55 setParDouble(
this,
"memory_y_error_rate", 1.11111111e-7);
56 setParDouble(
this,
"memory_z_error_rate", 1.11111111e-7);
57 setParDouble(
this,
"memory_energy_excitation_rate", 0.000198);
58 setParDouble(
this,
"memory_energy_relaxation_rate", 0.00000198);
59 setParDouble(
this,
"memory_completely_mixed_rate", 0);
61 setParDouble(
this,
"h_gate_error_rate", 1. / 2000);
62 setParDouble(
this,
"h_gate_x_error_ratio", 0);
63 setParDouble(
this,
"h_gate_z_error_ratio", 0);
64 setParDouble(
this,
"h_gate_y_error_ratio", 0);
66 setParDouble(
this,
"x_gate_error_rate", 1. / 2000);
67 setParDouble(
this,
"x_gate_x_error_ratio", 0);
68 setParDouble(
this,
"x_gate_z_error_ratio", 0);
69 setParDouble(
this,
"x_gate_y_error_ratio", 0);
71 setParDouble(
this,
"z_gate_error_rate", 1. / 2000);
72 setParDouble(
this,
"z_gate_x_error_ratio", 0);
73 setParDouble(
this,
"z_gate_z_error_ratio", 0);
74 setParDouble(
this,
"z_gate_y_error_ratio", 0);
76 setParDouble(
this,
"cnot_gate_error_rate", 1. / 2000);
77 setParDouble(
this,
"cnot_gate_ix_error_ratio", 1);
78 setParDouble(
this,
"cnot_gate_xi_error_ratio", 1);
79 setParDouble(
this,
"cnot_gate_xx_error_ratio", 1);
80 setParDouble(
this,
"cnot_gate_iz_error_ratio", 1);
81 setParDouble(
this,
"cnot_gate_zi_error_ratio", 1);
82 setParDouble(
this,
"cnot_gate_zz_error_ratio", 1);
83 setParDouble(
this,
"cnot_gate_iy_error_ratio", 1);
84 setParDouble(
this,
"cnot_gate_yi_error_ratio", 1);
85 setParDouble(
this,
"cnot_gate_yy_error_ratio", 1);
87 setParDouble(
this,
"x_measurement_error_rate", 1. / 2000);
88 setParDouble(
this,
"y_measurement_error_rate", 1. / 2000);
89 setParDouble(
this,
"z_measurement_error_rate", 1. / 2000);
91 setParInt(
this,
"stationary_qubit_address", 1);
92 setParInt(
this,
"node_address", 1);
93 setParInt(
this,
"qnic_address", 1);
94 setParInt(
this,
"qnic_type", 0);
95 setParInt(
this,
"qnic_index", 0);
96 setParDouble(
this,
"emission_jittering_standard_deviation", 0.5);
98 setParBool(
this,
"is_busy",
false);
99 setParDouble(
this,
"fidelity", -1.0);
a key to identify a qubit in a backend.
Definition IQubitId.h:14
Definition IStationaryQubit.h:20
virtual types::EigenvalueResult measureX()=0
virtual void Lock(unsigned long rs_id, int rule_id, int action_id)=0
virtual void gateHadamard()=0
virtual void setFree(bool consumed)=0
virtual types::MeasurementOutcome measureRandomPauliBasis()=0
int qnic_index
Definition IStationaryQubit.h:54
virtual bool isLocked()=0
virtual types::EigenvalueResult measureY()=0
virtual backends::IQubit * getBackendQubitRef() const =0
virtual types::EigenvalueResult measureZ()=0
virtual void emitPhoton(int pulse)=0
Emit photon.
virtual void gateCNOT(IStationaryQubit *target_qubit)=0
int qnic_type
Definition IStationaryQubit.h:53
Definition MockQubit.h:21
MOCK_METHOD(void, gateCNOT,(IStationaryQubit *),(override))
MOCK_METHOD(void, gateZ,(),(override))
MOCK_METHOD(void, gateSdg,(),(override))
MockQubit()
Definition MockQubit.h:45
MOCK_METHOD(void, gateY,(),(override))
MOCK_METHOD(void, gateX,(),(override))
void fillParams()
Definition MockQubit.h:51
IStationaryQubit * entangled_partner
Definition MockQubit.h:25
MOCK_METHOD(void, setFree,(bool consumed),(override))
MOCK_METHOD(IQubit *const, getBackendQubitRef,(),(const, override))
MOCK_METHOD(void, gateHadamard,(),(override))
MOCK_METHOD(bool, isLocked,(),(override))
MOCK_METHOD(quisp::types::EigenvalueResult, measureX,(),(override))
MOCK_METHOD(void, Lock,(unsigned long rs_id, int rule_id, int action_id),(override))
void reset()
Definition MockQubit.h:50
MOCK_METHOD(void, gateS,(),(override))
MOCK_METHOD(quisp::types::MeasurementOutcome, measureRandomPauliBasis,(),(override))
MOCK_METHOD(quisp::types::EigenvalueResult, measureY,(),(override))
MOCK_METHOD(quisp::types::EigenvalueResult, measureZ,(),(override))
MOCK_METHOD(void, emitPhoton,(int pulse),(override))
MOCK_METHOD(void, Unlock,(),(override))
MockQubit(quisp::modules::QNIC_type _type, quisp::modules::QNicIndex _qnic_index)
Definition MockQubit.h:46
Definition ModuleType.h:12
EigenvalueResult
Definition IQubit.h:17
QNIC_type
Definition QNIC.h:18
Definition MockQubit.h:12
void setParDouble(cModule *module, const char *name, const double val)
Definition TestUtilFunctions.cc:25
void setParBool(cModule *module, const char *name, const bool val)
Definition TestUtilFunctions.cc:49
void setParInt(cModule *module, const char *name, const int val)
Definition TestUtilFunctions.cc:13