fix: fix timing calculation when you have offsets
Explanation of changes
Something funky happens when you plot a schedule that contains a voltage offset and the schedule has repetitions
schedule = Schedule("hello", repetitions=2)
schedule.add(IdlePulse(duration=4e-9))
# schedule.add(VoltageOffset(1, 0, port=qubit.ports.gate()))
schedule.add(SquarePulse(amp=1, duration=4e-9, port=qubit.ports.gate()), rel_time=96e-9)
the second image shows when we include a voltage offset, but then the total plot duration also increases (because of repetitions=2).
This change fixes it. I hope.
Motivation of changes
Motivate why the particular solution was chosen.
Merge checklist
See also merge request guidelines
-
Merge request has been reviewed (in-depth by a knowledgeable contributor), and is approved by a project maintainer. -
New code is covered by unit tests (or N/A). -
New code is documented and docstrings use numpydoc format (or N/A). -
New functionality: considered making private instead of extending public API (or N/A). -
Public API changed: added @deprecatedand entry in deprecated code suggestions (or N/A). -
Newly added/adjusted documentation and docstrings render properly (or N/A). -
Pipeline fix or dependency update: post in #software-for-developerschannel to mergemainback in or update local packages (or N/A). -
Tested on hardware (or N/A). -
CHANGELOG.mdfor breaking changes andAUTHORS.mdhave been updated (or N/A). -
Update Hardware backends documentation if backend interface change or N/A -
Check whether performance is significantly affected by looking at the Performance metrics results. -
Windows tests in CI pipeline pass (manually triggered by maintainers before merging). - Maintainers do not hit Auto-merge, we need to actively check as manual tests do not block pipeline
For reference, the issues workflow is described in the contribution guidelines.
Edited by Robert Sokolewicz

