Skip to content

Allow user to change `rel_tolerance` in `to_grid_time` function

Explanation of changes

Long schedules can accumulate floating point errors beyond the tolerance that is specified inside the to_grid_time function. The threshold is now editable by the user:

import quantify_scheduler.backends.qblox.constants as constants

constants.GRID_TIME_TOLERANCE_TIME = 0.05

and a nicer error is produced by to_grid_time:

ValueError: Attempting to use a time value of 168345600000.003 ns. Please ensure that the durations of operations and wait times between operations are multiples of 4 ns (tolerance: 1e-03 ns). If you think this is a mistake, try increasing the tolerance by setting e.g. `quantify_scheduler.backends.qblox.constants.GRID_TIME_TOLERANCE_TIME = 1e-2` at the top of your script.

See also !1102 (merged) .


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 @deprecated and 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-developers channel to merge main back in or update local packages (or N/A).
  • Tested on hardware (or N/A).
  • CHANGELOG.md for breaking changes and AUTHORS.md have 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 Gábor Oszkár Dénes

Merge request reports

Loading