parameters: (x)
return_statement: return nx.sqrt(x)
docstring: Compute the square root of x.
  
      For negative input elements, a complex value is returned
      (unlike `numpy.sqrt` which returns NaN).
  
      Parameters
      ----------
      x : array_like
         The input value(s).
  
      Returns
      -------
      out : ndarray or scalar
         The square root of `x`. If `x` was a scalar, so is `out`,
         otherwise an array is returned.
  
      See Also
      --------
      numpy.sqrt
  
      Examples
      --------
      For real, non-negative inputs this works just like `numpy.sqrt`:
  
      >>> np.lib.scimath.sqrt(1)
      1.0
      >>> np.lib.scimath.sqrt([1, 4])
      array([ 1.,  2.])
  
      But it automatically handles negative inputs:
  
      >>> np.lib.scimath.sqrt(-1)
      (0.0+1.0j)
      >>> np.lib.scimath.sqrt([-1,4])
      array([ 0.+1.j,  2.+0.j])
docstring_summary: Compute the square root of x.
docstring_tokens: Compute the square root of x .
function: def sqrt(x):
      """
      Compute the square root of x.
  
      For negative input elements, a complex value is returned
      (unlike `numpy.sqrt` which returns NaN).
  
      Parameters
      ----------
      x : array_like
         The input value(s).
  
      Returns
      -------
      out : ndarray or scalar
         The square root of `x`. If `x` was a scalar, so is `out`,
         otherwise an array is returned.
  
      See Also
      --------
      numpy.sqrt
  
      Examples
      --------
      For real, non-negative inputs this works just like `numpy.sqrt`:
  
      >>> np.lib.scimath.sqrt(1)
      1.0
      >>> np.lib.scimath.sqrt([1, 4])
      array([ 1.,  2.])
  
      But it automatically handles negative inputs:
  
      >>> np.lib.scimath.sqrt(-1)
      (0.0+1.0j)
      >>> np.lib.scimath.sqrt([-1,4])
      array([ 0.+1.j,  2.+0.j])
  
      """
      x = _fix_real_lt_zero(x)
      return nx.sqrt(x)
function_tokens: def sqrt ( x ) : x = _fix_real_lt_zero ( x ) return nx . sqrt ( x )