def control(self, num_ctrl_qubits=1, label=None, ctrl_state=None):
    "Return a (mutli-)controlled-RX gate.\n\n        Args:\n            num_ctrl_qubits (int): number of control qubits.\n            label (str or None): An optional label for the gate [Default: None]\n            ctrl_state (int or str or None): control state expressed as integer,\n                string (e.g. '110'), or None. If None, use all 1s.\n\n        Returns:\n            ControlledGate: controlled version of this gate.\n        "
    if (num_ctrl_qubits == 1):
        gate = CRXGate(self.params[0], label=label, ctrl_state=ctrl_state)
        gate.base_gate.label = self.label
        return gate
    return super().control(num_ctrl_qubits=num_ctrl_qubits, label=label, ctrl_state=ctrl_state)
Return a (mutli-)controlled-RX gate.

Args:
    num_ctrl_qubits (int): number of control qubits.
    label (str or None): An optional label for the gate [Default: None]
    ctrl_state (int or str or None): control state expressed as integer,
        string (e.g. '110'), or None. If None, use all 1s.

Returns:
    ControlledGate: controlled version of this gate.
def control(self, num_ctrl_qubits=1, label=None, ctrl_state=None):
    "Return a (mutli-)controlled-RX gate.\n\n        Args:\n            num_ctrl_qubits (int): number of control qubits.\n            label (str or None): An optional label for the gate [Default: None]\n            ctrl_state (int or str or None): control state expressed as integer,\n                string (e.g. '110'), or None. If None, use all 1s.\n\n        Returns:\n            ControlledGate: controlled version of this gate.\n        "
    if (num_ctrl_qubits == 1):
        gate = CRXGate(self.params[0], label=label, ctrl_state=ctrl_state)
        gate.base_gate.label = self.label
        return gate
    return super().control(num_ctrl_qubits=num_ctrl_qubits, label=label, ctrl_state=ctrl_state)