public override void ControlledX(IQArray <Qubit> controls, Qubit qubit) { if (controls.Length == 1) { this.Cnot(controls.First().Id, qubit.Id); } else { throw new UnsupportedOperationException("Only singular controlled gates are allowed."); } }