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

Function test_ADD

test/QAlg/ArithmeticUnit.test.cpp:319–349  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

317}
318
319static bool test_ADD()
320{
321 int n = 5, m = 4;
322 int N = 7;
323 n = ceil(log2(N)) + 1;
324 auto qvm = CPUQVM();
325 qvm.init();
326 auto q = qvm.qAllocMany(n);
327 auto q1 = qvm.qAllocMany(n);
328 auto q2 = qvm.qAllocMany(n);
329 auto q3 = qvm.qAllocMany(n);
330 auto auxadd = qvm.qAllocMany(1);
331 auto prog = QProg();
332 int b = 2;
333 int a = 3;
334 int x = 4;
335 prog << bind_nonnegative_data(x, q3);
336 std::cout << prog << std::endl;
337 prog << FourierADD(q, a, b);
338 //prog << Modexp(a, N, q1, q2, auxadd, q3, n);
339 std::cout << prog << std::endl;
340 /*prog << bind_nonnegative_data(b, q1)
341 << bind_nonnegative_data(x, q2)
342 << conModMul(a, N, q1, q2, auxadd, n);*/
343 /*prog << bind_nonnegative_data(b, q)
344 << conModADD(a, N, q, auxadd, n);*/
345 /* prog << bind_nonnegative_data(b, q)
346 << conModADD(a, N, q, auxadd, n).dagger();*/
347 auto result = qvm.probRunDict(prog, q2,1);
348 return true;
349}
350
351
352TEST(ArithmeticUnit, test1)

Callers 1

TESTFunction · 0.85

Calls 9

CPUQVMClass · 0.85
ceilFunction · 0.50
log2Function · 0.50
QProgClass · 0.50
bind_nonnegative_dataFunction · 0.50
FourierADDFunction · 0.50
initMethod · 0.45
qAllocManyMethod · 0.45
probRunDictMethod · 0.45

Tested by

no test coverage detected