diff --git a/src/braket/circuits/compiler_directives.py b/src/braket/circuits/compiler_directives.py index 329dcc3f6..73cb7f98f 100644 --- a/src/braket/circuits/compiler_directives.py +++ b/src/braket/circuits/compiler_directives.py @@ -95,3 +95,6 @@ def to_ir( return f"barrier {qubits};" return "barrier;" return super().to_ir(target, ir_type, serialization_properties, **kwargs) + + def counterpart(self) -> CompilerDirective: + return Barrier(self._qubit_indices) diff --git a/test/unit_tests/braket/circuits/test_compiler_directives.py b/test/unit_tests/braket/circuits/test_compiler_directives.py index ae1e4905f..d9c6f90bc 100644 --- a/test/unit_tests/braket/circuits/test_compiler_directives.py +++ b/test/unit_tests/braket/circuits/test_compiler_directives.py @@ -68,3 +68,8 @@ def test_barrier(): result = barrier.to_ir([], IRType.OPENQASM, props) assert result == "barrier;" + + +def test_adjoint_barrier(): + barrier = compiler_directives.Barrier([0, 1, 2]) + assert barrier.counterpart() == barrier