Skip to content

Commit 93f74af

Browse files
committed
pass matrices by reference
1 parent c64b72b commit 93f74af

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

mlir/include/mlir/Dialect/MQTOpt/Transforms/Decomposition/BasisDecomposer.h

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -317,26 +317,28 @@ class TwoQubitBasisDecomposer {
317317
}
318318

319319
protected:
320+
// NOLINTBEGIN(modernize-pass-by-value)
320321
/**
321322
* Constructs decomposer instance.
322323
*/
323324
TwoQubitBasisDecomposer(
324325
Gate basisGate, fp basisFidelity,
325-
decomposition::TwoQubitWeylDecomposition basisDecomposer,
326-
bool isSuperControlled, matrix2x2 u0l, matrix2x2 u0r, matrix2x2 u1l,
327-
matrix2x2 u1ra, matrix2x2 u1rb, matrix2x2 u2la, matrix2x2 u2lb,
328-
matrix2x2 u2ra, matrix2x2 u2rb, matrix2x2 u3l, matrix2x2 u3r,
329-
matrix2x2 q0l, matrix2x2 q0r, matrix2x2 q1la, matrix2x2 q1lb,
330-
matrix2x2 q1ra, matrix2x2 q1rb, matrix2x2 q2l, matrix2x2 q2r)
326+
const decomposition::TwoQubitWeylDecomposition& basisDecomposer,
327+
bool isSuperControlled, const matrix2x2& u0l, const matrix2x2& u0r, const matrix2x2& u1l,
328+
const matrix2x2& u1ra, const matrix2x2& u1rb, const matrix2x2& u2la, const matrix2x2& u2lb,
329+
const matrix2x2& u2ra, const matrix2x2& u2rb, const matrix2x2& u3l, const matrix2x2& u3r,
330+
const matrix2x2& q0l, const matrix2x2& q0r, const matrix2x2& q1la, const matrix2x2& q1lb,
331+
const matrix2x2& q1ra, const matrix2x2& q1rb, const matrix2x2& q2l, const matrix2x2& q2r)
331332
: basisGate{std::move(basisGate)}, basisFidelity{basisFidelity},
332-
basisDecomposer{std::move(basisDecomposer)},
333-
isSuperControlled{isSuperControlled}, u0l{std::move(u0l)},
334-
u0r{std::move(u0r)}, u1l{std::move(u1l)}, u1ra{std::move(u1ra)},
335-
u1rb{std::move(u1rb)}, u2la{std::move(u2la)}, u2lb{std::move(u2lb)},
336-
u2ra{std::move(u2ra)}, u2rb{std::move(u2rb)}, u3l{std::move(u3l)},
337-
u3r{std::move(u3r)}, q0l{std::move(q0l)}, q0r{std::move(q0r)},
338-
q1la{std::move(q1la)}, q1lb{std::move(q1lb)}, q1ra{std::move(q1ra)},
339-
q1rb{std::move(q1rb)}, q2l{std::move(q2l)}, q2r{std::move(q2r)} {}
333+
basisDecomposer{basisDecomposer},
334+
isSuperControlled{isSuperControlled}, u0l{u0l},
335+
u0r{u0r}, u1l{u1l}, u1ra{u1ra},
336+
u1rb{u1rb}, u2la{u2la}, u2lb{u2lb},
337+
u2ra{u2ra}, u2rb{u2rb}, u3l{u3l},
338+
u3r{u3r}, q0l{q0l}, q0r{q0r},
339+
q1la{q1la}, q1lb{q1lb}, q1ra{q1ra},
340+
q1rb{q1rb}, q2l{q2l}, q2r{q2r} {}
341+
// NOLINTEND(modernize-pass-by-value)
340342

341343
/**
342344
* Calculate decompositions when no basis gate is required.

0 commit comments

Comments
 (0)