code: def min_max_axis(X, axis, ignore_nan=False):
      """Compute minimum and maximum along an axis on a CSR or CSC matrix and
      optionally ignore NaN values.
  
      Parameters
      ----------
      X : CSR or CSC sparse matrix, shape (n_samples, n_features)
          Input data.
  
      axis : int (either 0 or 1)
          Axis along which the axis should be computed.
  
      ignore_nan : bool, default is False
          Ignore or passing through NaN values.
  
      Returns
      -------
  
      mins : float array with shape (n_features,)
          Feature-wise minima
  
      maxs : float array with shape (n_features,)
          Feature-wise maxima
      """
      if issparse(X):
          if ignore_nan:
              return _sparse_nan_min_max(X, axis=axis)
          else:
              return _sparse_min_max(X, axis=axis)
      else:
          _raise_typeerror(X)
  
file_path: cuml/python/cuml/_thirdparty/sklearn/utils/sparsefuncs.py
imports: from ....thirdparty_adapters.sparsefuncs_fast import csr_mean_variance_axis0, csc_mean_variance_axis0
  from cuml.internals.safe_imports import cpu_only_import
  from cuml.internals.safe_imports import gpu_only_import
  from cuml.internals.safe_imports import gpu_only_import_from
  from cuml.internals.safe_imports import cpu_only_import_from
label_desc: Use image node_id 15 for calling a global function with example usage: min_max_axis(X, axis, ignore_nan) and returns: _sparse_nan_min_max, _sparse_min_max