OSDN Git Service

Initial Commit
[qcad/qcad.git] / calcunits / QC_rot.h
1 //---------------------------------------------------------------------------\r
2 // Rotate Gate\r
3 //---------------------------------------------------------------------------\r
4 #ifndef QC_rotH\r
5 #define QC_rotH\r
6 //---------------------------------------------------------------------------\r
7 #include "QCalcUnit.h"\r
8 #include "QBits.h"\r
9 //---------------------------------------------------------------------------\r
10 \r
11 class QC_rot : public QCalcUnit\r
12 {\r
13 private:\r
14     int TargetBit;\r
15     double Theta;// Degree of rotation(Radian)\r
16 public:\r
17 \r
18     QC_rot(int _TargetBit,double degree);\r
19     static void calc(int target, double theta, double R[], double I[], int N);\r
20     virtual void Calc(QBits *QBits);\r
21     virtual std::string GetName(void) const {\r
22         return "Rot";\r
23     }\r
24 \r
25 #ifdef __USE__MPI\r
26     static void calcmpi(int t1, double theta, double R[], double I[], int N);\r
27 #endif\r
28 };\r
29 //---------------------------------------------------------------------------\r
30 #endif\r