| 459 | return true; |
| 460 | } |
| 461 | static bool test_Amplitude_encoding2() |
| 462 | { |
| 463 | auto qvm = new CPUQVM(); |
| 464 | qvm->init(); |
| 465 | std::vector<double>data{ -0.33164128327780906,-0.23433373435840027,-0.00022877626650846954,0.3466895582845477,0.36968371696590785,-0.21966111818142703,-0.28122454968118343,0.2954805505078439,0.2060812114310625,0.28816304973225565,0.13470785340813266,0.06207383012753573,-0.14157790059772607,0.15044744783305566,-0.28050173370498876,-0.3077795693383025 }; |
| 466 | //std::vector<double>data{ 0.15311858100051695,-0.0961350374871273,0.3859320687001368,-0.5634457467385428,0.1474901012487757,-0.45185782723129864,0.32284355187278985,-0.4132085412578166 }; |
| 467 | //std::vector<double>data{ 1,2,3,4,5,6 }; |
| 468 | auto prog = QProg(); |
| 469 | auto q = qvm->qAllocMany(4); |
| 470 | auto cir = amplitude_encode(q, data); |
| 471 | std::cout << cir << std::endl; |
| 472 | prog << cir; |
| 473 | auto result = qvm->probRunList(prog, q, -1); |
| 474 | int k = 0; |
| 475 | for (auto &val : result) |
| 476 | { |
| 477 | std::cout << "Amplitude:" << val << "," << "Originial value:" << data[k] * data[k] << std::endl; |
| 478 | ++k; |
| 479 | } |
| 480 | destroyQuantumMachine(qvm); |
| 481 | return true; |
| 482 | } |
| 483 | static bool test_Amplitude_encoding3() |
| 484 | { |
| 485 | auto qvm = initQuantumMachine(QMachineType::CPU); |
no test coverage detected