Add support for a controlled-phase gate (= controlled-Z-rotation gate) with a rotation angle chosen by the caller.
NetQASM current supports:
-
Single-qubit Z-rotation operations with fixed angles, namely operator Z (fixed rotation angle pi), operator S (fixed rotation angle pi/2), and operator T (fixed rotation angle pi/4).
-
A single-qubit Z-rotation operation with a rotation angle chosen by the caller, namely operator ROT_Z.
-
A two-qubit controlled-Z-rotation operation with a fixed angle, namely operator CPHASE (fixed rotation angle pi).
What is missing is a two-qubit controlled-Z-rotation operation with a rotation angle chosen by the caller. Perhaps this could be called CROT_Z.
This new CROT_Z operation is needed to implement the Quantum Fourier Transformation (QFT).
I plan to generate a pull request for this in the near future.