| 541 | } |
| 542 | |
| 543 | QCircuit constModExp(QVec &qvec, QVec &result, int base, int module_Num, QVec &qvec1, QVec &qvec2, QVec &qvec3) |
| 544 | { |
| 545 | QCircuit circuit, tmpcir; |
| 546 | int tmp = base; |
| 547 | for (int i = 0; i < qvec.size(); i++) |
| 548 | { |
| 549 | circuit << constModMul(result, tmp, module_Num, qvec1, qvec2, qvec3).control(qvec[i]); |
| 550 | tmp = (tmp * tmp) % module_Num; |
| 551 | } |
| 552 | return circuit; |
| 553 | } |
| 554 | |
| 555 | |
| 556 | int egcd(int a, int b, int &x, int &y) |
no test coverage detected