code: def _parity_interaction(q0: ops.Qid,
                          q1: ops.Qid,
                          rads: float,
                          atol: float,
                          gate: Optional[ops.Gate] = None):
      
  
      if abs(rads) < atol:
          return
  
      if gate is not None:
          g = cast(ops.Gate, gate)
          yield g.on(q0), g.on(q1)
  
      yield MS(-1 * rads).on(q0, q1)
  
      if gate is not None:
          g = protocols.inverse(gate)
          yield g.on(q0), g.on(q1)
docs: Yields an XX interaction framed by the given operation.