BBN-Q/QGL

the compiler modifies the input sequences

Opened this issue · 2 comments

compile_to_hardware modifies the sequence lists it is passed. In the past, this was mostly harmless
because nobody looked at the sequence lists after the compiler was done with them.
The method for compiling the TDM instructions, however, needs the original sequences.

The workaround is to copy the sequence lists (a shallow copy seems sufficient) before passing
them to the compiler, but the compiler could do this itself unless there's some reason that we
actually want the compilation process to be destructive.

This question is still relevant, but tdm instructions are now generated from the compiled sequence:

tdm_instr = aps2tdm_module.tdm_instructions(seqs)

I would still vote to copy them. It's causing issues with the axis descriptor creation. In that case I found a shallow copy wasn't sufficient.