Skip to content

Commit

Permalink
🎨 pre-commit fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
pre-commit-ci[bot] committed Dec 23, 2023
1 parent 80aef63 commit d052cb0
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 18 deletions.
4 changes: 2 additions & 2 deletions include/Mapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,10 @@ class Mapper {
std::array<std::optional<std::size_t>, MAX_DEVICE_QUBITS>& lastLayer,
const std::optional<std::uint16_t>& control, std::uint16_t target,
qc::Operation* gate);

/**
* Similar to processDisjointQubitLayer, but instead of treating each gate
* individually, gates are collected in 2Q-blocks, which are layered
* individually, gates are collected in 2Q-blocks, which are layered
* disjointly to each other
*
* @param lastLayer the array storing the last layer each qubit is used in
Expand Down
2 changes: 1 addition & 1 deletion src/heuristic/HeuristicMapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ void HeuristicMapper::routeCircuit() {
printLocations(std::clog);
printQubits(std::clog);
}

if (layerIndex != 0 && config.addBarriersBetweenLayers) {
qcMapped.barrier();
gateidx++;
Expand Down
29 changes: 14 additions & 15 deletions test/test_heuristic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -87,18 +87,17 @@ TEST(Functionality, LayeringTest) {
for (size_t i = 0; i < 3; ++i) {
qc.measure(static_cast<qc::Qubit>(i), i);
}

Configuration settings{};
settings.initialLayout = InitialLayout::Dynamic;
settings.preMappingOptimizations = false;
settings.postMappingOptimizations = false;
settings.initialLayout = InitialLayout::Dynamic;
settings.preMappingOptimizations = false;
settings.postMappingOptimizations = false;
settings.addMeasurementsToMappedCircuit = true;
settings.addBarriersBetweenLayers = true;
settings.automaticLayerSplits = false;


settings.addBarriersBetweenLayers = true;
settings.automaticLayerSplits = false;

// Disjoint2qBlocks
auto mapper = std::make_unique<HeuristicMapper>(qc, architecture);
auto mapper = std::make_unique<HeuristicMapper>(qc, architecture);
settings.layering = Layering::Disjoint2qBlocks;
mapper->map(settings);
auto result = mapper->getResults();
Expand All @@ -116,16 +115,16 @@ TEST(Functionality, LayeringTest) {
}
}
EXPECT_EQ(barriers, result.input.layers);

// DisjointQubits
mapper = std::make_unique<HeuristicMapper>(qc, architecture);
mapper = std::make_unique<HeuristicMapper>(qc, architecture);
settings.layering = Layering::DisjointQubits;
mapper->map(settings);
result = mapper->getResults();
EXPECT_EQ(result.input.layers, 3);
// get mapped circuit
qcMapped = qc::QuantumComputation();
qasm = std::stringstream{};
qasm = std::stringstream{};
mapper->dumpResult(qasm, qc::Format::OpenQASM);
qcMapped.import(qasm, qc::Format::OpenQASM);
// check barrier count
Expand All @@ -136,16 +135,16 @@ TEST(Functionality, LayeringTest) {
}
}
EXPECT_EQ(barriers, result.input.layers);

// IndividualGates
mapper = std::make_unique<HeuristicMapper>(qc, architecture);
mapper = std::make_unique<HeuristicMapper>(qc, architecture);
settings.layering = Layering::IndividualGates;
mapper->map(settings);
result = mapper->getResults();
EXPECT_EQ(result.input.layers, 6);
// get mapped circuit
qcMapped = qc::QuantumComputation();
qasm = std::stringstream{};
qasm = std::stringstream{};
mapper->dumpResult(qasm, qc::Format::OpenQASM);
qcMapped.import(qasm, qc::Format::OpenQASM);
// check barrier count
Expand Down

0 comments on commit d052cb0

Please sign in to comment.