diff --git a/src/backend/dd/DDSimDebug.cpp b/src/backend/dd/DDSimDebug.cpp index 1bed2617..80253906 100644 --- a/src/backend/dd/DDSimDebug.cpp +++ b/src/backend/dd/DDSimDebug.cpp @@ -32,7 +32,7 @@ #include "dd/Package.hpp" #include "dd/StateGeneration.hpp" #include "ir/Definitions.hpp" -#include "ir/Register.hpp" +#include "ir/OpenQASMSerializer.hpp" #include "ir/operations/IfElseOperation.hpp" #include "ir/operations/OpType.hpp" #include "qasm3/Importer.hpp" @@ -585,9 +585,9 @@ void compileProjectiveMeasurement( qubitIndexToRegisterMap.try_emplace(i, reg, originalVariable); } + const qc::OpenQASMSerializer serializer(stream, qc::Format::OpenQASM2); for (auto& it : std::ranges::reverse_view(newQc)) { - auto inverted = it->getInverted(); - it->dumpOpenQASM2(stream, qubitIndexToRegisterMap, {}); + serializer.serialize(*it->getInverted(), qubitIndexToRegisterMap, {}); } for (const auto& [qbit, cbit] : targetNames) { @@ -595,7 +595,7 @@ void compileProjectiveMeasurement( } for (auto& it : newQc) { - it->dumpOpenQASM2(stream, qubitIndexToRegisterMap, {}); + serializer.serialize(*it, qubitIndexToRegisterMap, {}); } } diff --git a/test/test_compilation_projective_measurements.cpp b/test/test_compilation_projective_measurements.cpp index ba4a8858..b091eadc 100644 --- a/test/test_compilation_projective_measurements.cpp +++ b/test/test_compilation_projective_measurements.cpp @@ -38,10 +38,10 @@ class ProjectiveMeasurementsCompilationTest : public CompilationTest {}; */ TEST_F(ProjectiveMeasurementsCompilationTest, ProjectiveSingleOperation) { loadCode("qreg q[1];\n" - "x q[0];\n" + "s q[0];\n" "assert-eq q[0] { " "qreg p[1];\n" - "x p[0];\n" + "s p[0];\n" "}\n"); PreambleVector preamble; @@ -49,11 +49,11 @@ TEST_F(ProjectiveMeasurementsCompilationTest, ProjectiveSingleOperation) { checkCompilation(makeSettings(/*opt=*/0, /*slice=*/0), "qreg q[1];\n" - "x q[0];\n" + "s q[0];\n" "creg test_q0[1];\n" - "x q[0];\n" + "sdg q[0];\n" "measure q[0] -> test_q0[0];\n" - "x q[0];\n", + "s q[0];\n", preamble); checkNoCompilation(makeSettings(0, 1));