code: def crossintray(x):
      """Cross-in-tray objective function.
  
      Only takes two dimensions and has a four equal global minimums
       of `-2.06261` at :code:`f([1.34941, -1.34941])`, :code:`f([1.34941, 1.34941])`,
       :code:`f([-1.34941, 1.34941])`, and :code:`f([-1.34941, -1.34941])`.
      Its coordinates are bounded within :code:`[-10,10]`.
  
      Best visualized in the full domain and a range of :code:`[-2.0, -0.5]`.
  
      Parameters
      ----------
      x : numpy.ndarray
          set of inputs of shape :code:`(n_particles, dimensions)`
  
      Returns
      -------
      numpy.ndarray
          computed cost of size :code:`(n_particles, )`
  
      Raises
      ------
      IndexError
          When the input dimensions is greater than what the function
          allows
      ValueError
          When the input is out of bounds with respect to the function
          domain
      """
      if not x.shape[1] == 2:
          raise IndexError(
              "Cross-in-tray function only takes two-dimensional input."
          )
      if not np.logical_and(x >= -10, x <= 10).all():
          raise ValueError(
              "Input for cross-in-tray function must be within [-10, 10]."
          )
  
      x_ = x[:, 0]
      y_ = x[:, 1]
  
      j = -0.0001 * np.power(
          np.abs(
              np.sin(x_)
              * np.sin(y_)
              * np.exp(
                  np.abs(100 - (np.sqrt(x_**2 + y_**2) / np.pi))
              )
          )
          + 1,
          0.1,
      )
  
      return j
  
file_path: pyswarms/pyswarms/utils/functions/single_obj.py
imports: import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: crossintray(x) and returns: j