iqm.pulse.scheduler.extend_schedule

iqm.pulse.scheduler.extend_schedule#

iqm.pulse.scheduler.extend_schedule(A, B, channels, *, TOL=1e-12)#

Extend a Schedule with another Schedule.

Extends A with B, modifying both. The extension can add new channels to A.

If B has a ragged left side, i.e. some of its channels begin with Nothing instructions, this algorithm will not always produce an optimally short schedule.

Parameters:
  • A (Schedule) – schedule to be extended

  • B (Schedule) – schedule to extend A with

  • channels (dict[str, ChannelProperties]) – properties of the control channels

  • TOL (float) – time durations equal or smaller than this are considered zero (in seconds)

Return type:

None