MCPcopy Create free account
hub / github.com/OriginQ/QPanda-2 / test_Amplitude_encoding2

Function test_Amplitude_encoding2

test/QAlg/Encode.test.cpp:461–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

459 return true;
460}
461static 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}
483static bool test_Amplitude_encoding3()
484{
485 auto qvm = initQuantumMachine(QMachineType::CPU);

Callers 1

TESTFunction · 0.85

Calls 5

QProgClass · 0.50
amplitude_encodeFunction · 0.50
initMethod · 0.45
qAllocManyMethod · 0.45
probRunListMethod · 0.45

Tested by

no test coverage detected