Loading mlir/parsers/qasm3/tests/CMakeLists.txt +0 −2 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ link_directories(${XACC_ROOT}/lib) #target_include_directories(qasm3VisitorTester PRIVATE . ../../ ${XACC_ROOT}/include/gtest) #target_link_libraries(qasm3VisitorTester qcor-mlir-api gtest gtest_main) link_directories(${XACC_ROOT}/lib) add_executable(qasm3VisitorAliasTester test_alias_handler.cpp) add_test(NAME qcor_qasm3_quantum_alias_decl_tester COMMAND test_alias_handler) target_include_directories(qasm3VisitorAliasTester PRIVATE . ../../ ${XACC_ROOT}/include/gtest) Loading mlir/parsers/qasm3/tests/test_alias_handler.cpp +19 −7 Original line number Diff line number Diff line Loading @@ -6,18 +6,30 @@ TEST(qasm3VisitorTester, checkAlias) { const std::string src = R"#(OPENQASM 3; include "qelib1.inc"; qubit q[6]; x q[3]; // myreg[0] refers to the qubit q[1] // myreg[0,1,2] refers to the qubit q[1,3,5] let myreg = q[1, 3, 5]; x myreg[0]; h myreg[1]; let alias = q[0, 2, 4]; cx alias[1], myreg[2]; // Apply x on qubits in the alias list for i in [0:3] { x myreg[i]; } // Measure all qubits bit m[6]; m = measure q; for i in [0:6] { print(m[i]); } QCOR_EXPECT_TRUE(m[0] == 0); QCOR_EXPECT_TRUE(m[1] == 1); QCOR_EXPECT_TRUE(m[2] == 0); QCOR_EXPECT_TRUE(m[3] == 1); QCOR_EXPECT_TRUE(m[4] == 0); QCOR_EXPECT_TRUE(m[5] == 1); )#"; auto mlir = qcor::mlir_compile("qasm3", src, "test", qcor::OutputType::MLIR, true); std::cout << "MLIR:\n" << mlir << "\n"; qcor::execute("qasm3", src, "test"); EXPECT_FALSE(qcor::execute("qasm3", src, "test")); } int main(int argc, char **argv) { Loading Loading
mlir/parsers/qasm3/tests/CMakeLists.txt +0 −2 Original line number Diff line number Diff line Loading @@ -7,8 +7,6 @@ link_directories(${XACC_ROOT}/lib) #target_include_directories(qasm3VisitorTester PRIVATE . ../../ ${XACC_ROOT}/include/gtest) #target_link_libraries(qasm3VisitorTester qcor-mlir-api gtest gtest_main) link_directories(${XACC_ROOT}/lib) add_executable(qasm3VisitorAliasTester test_alias_handler.cpp) add_test(NAME qcor_qasm3_quantum_alias_decl_tester COMMAND test_alias_handler) target_include_directories(qasm3VisitorAliasTester PRIVATE . ../../ ${XACC_ROOT}/include/gtest) Loading
mlir/parsers/qasm3/tests/test_alias_handler.cpp +19 −7 Original line number Diff line number Diff line Loading @@ -6,18 +6,30 @@ TEST(qasm3VisitorTester, checkAlias) { const std::string src = R"#(OPENQASM 3; include "qelib1.inc"; qubit q[6]; x q[3]; // myreg[0] refers to the qubit q[1] // myreg[0,1,2] refers to the qubit q[1,3,5] let myreg = q[1, 3, 5]; x myreg[0]; h myreg[1]; let alias = q[0, 2, 4]; cx alias[1], myreg[2]; // Apply x on qubits in the alias list for i in [0:3] { x myreg[i]; } // Measure all qubits bit m[6]; m = measure q; for i in [0:6] { print(m[i]); } QCOR_EXPECT_TRUE(m[0] == 0); QCOR_EXPECT_TRUE(m[1] == 1); QCOR_EXPECT_TRUE(m[2] == 0); QCOR_EXPECT_TRUE(m[3] == 1); QCOR_EXPECT_TRUE(m[4] == 0); QCOR_EXPECT_TRUE(m[5] == 1); )#"; auto mlir = qcor::mlir_compile("qasm3", src, "test", qcor::OutputType::MLIR, true); std::cout << "MLIR:\n" << mlir << "\n"; qcor::execute("qasm3", src, "test"); EXPECT_FALSE(qcor::execute("qasm3", src, "test")); } int main(int argc, char **argv) { Loading