code: def logical_xor(lhs, rhs):
      
      # pylint: disable= no-member, protected-access
      return _ufunc_helper(
          lhs,
          rhs,
          op.broadcast_logical_xor,
          lambda x, y: 1 if bool(x) ^ bool(y) else 0,
          _internal._logical_xor_scalar,
          None)
docs: Returns the result of element-wise **logical xor** comparison
      operation with broadcasting.
  
      For each element in input arrays, return 1(true) if lhs elements or rhs elements
      are true, otherwise return 0(false).
  
      Equivalent to ``bool(lhs) ^ bool(rhs)`` and ``mx.nd.broadcast_logical_xor(lhs, rhs)``.
  
      .. note::
  
         If the corresponding dimensions of two arrays have the same size or one of them has size 1,
         then the arrays are broadcastable to a common shape.
  
      Parameters
      ----------
      lhs : scalar or mxnet.ndarray.array
          First input of the function.
      rhs : scalar or mxnet.ndarray.array
           Second input of the function. If ``lhs.shape != rhs.shape``, they must be
          broadcastable to a common shape.
  
      Returns
      -------
      NDArray
          Output array of boolean values.
  
      Examples
      --------
      >>> x = mx.nd.ones((2,3))
      >>> y = mx.nd.arange(2).reshape((2,1))
      >>> z = mx.nd.arange(2).reshape((1,2))
      >>> x.asnumpy()
      array([[ 1.,  1.,  1.],
             [ 1.,  1.,  1.]], dtype=float32)
      >>> y.asnumpy()
      array([[ 0.],
             [ 1.]], dtype=float32)
      >>> z.asnumpy()
      array([[ 0.,  1.]], dtype=float32)
      >>> mx.nd.logical_xor(x, y).asnumpy()
      array([[ 1.,  1.,  1.],
             [ 0.,  0.,  0.]], dtype=float32)