scaff_module cSWAP ( qbit ctrl, qbit a, qbit b ) { CNOT(b, a); Toffoli(ctrl, a, b); CNOT(b, a); } // Scaffold doesn't allow overloading scaff_module names based on scaff_module parameter signature // cSWAPs is vector of gates on vectors of qubits scaff_module cSWAPs ( qbit ctrl, const unsigned int width, qbit a[], qbit b[] ) { for (int i=0; i