1 //---------------------------------------------------------------------------
\r
2 // Class for Circuits
\r
3 //---------------------------------------------------------------------------
\r
4 #include "QCircuit.h"
\r
5 #include "QCircuitAll.h"
\r
7 //---------------------------------------------------------------------------
\r
8 QCircuit::QCircuit(int x,int y) {
\r
12 //---------------------------------------------------------------------------
\r
14 QCircuit::GetType(string Type) {
\r
16 if (Type =="QBitBox") {
\r
18 } else if (Type =="QWalsh") {
\r
20 } else if (Type == "QCNot") {
\r
22 } else if (Type == "QCCNot") {
\r
24 } else if (Type == "QMeasure") {
\r
26 } else if (Type == "QTextBox") {
\r
28 } else if (Type == "QPauliX") {
\r
30 } else if (Type == "QPauliY") {
\r
32 } else if (Type == "QPauliZ") {
\r
34 } else if (Type == "QSwap") {
\r
36 } else if (Type == "QCRot") {
\r
38 } else if (Type == "QNOT") {
\r
40 } else if (Type == "QRot") {
\r
45 //---------------------------------------------------------------------------
\r
47 QCircuit::GetTypeStr(int Type) {
\r
84 //---------------------------------------------------------------------------
\r
86 QCircuit::Create(string TypeStr, int x, int y, string Param) {
\r
89 int Type = GetType(TypeStr);
\r
93 return new QBitbox(x,y,Param);
\r
96 return new QWalsh(x,y);
\r
99 return new QMeasure(x,y);
\r
102 return new QPauliX(x,y);
\r
105 return new QPauliY(x,y);
\r
108 return new QPauliZ(x,y);
\r
111 return new QRot(x,y,Param);
\r
114 return new QNot(x, y);
\r
117 return new QCNot(x,y,Param);
\r
120 return new QCCNot(x,y,Param);
\r
123 return new QSwap(x,y, Param);
\r
126 return new QCRot(x,y, Param);
\r
130 //---------------------------------------------------------------------------
\r
132 QCircuit::GetSaveText(void) {
\r
134 os << X << "," << Y << "," << Name << ",\""<< GetParam() << "\"";
\r
137 //---------------------------------------------------------------------------
\r