code: def test_exp_decay_params():
      def compare_exp_decay_params(
          a=None, b=None, min_dist=0.1, spread=1.0
      ):
          cuml_model = cuUMAP(
              a=a, b=b, min_dist=min_dist, spread=spread
          )
          state = cuml_model.__getstate__()
          cuml_a, cuml_b = state["a"], state["b"]
          skl_model = umap.UMAP(
              a=a, b=b, min_dist=min_dist, spread=spread
          )
          skl_model.fit(np.zeros((1, 1)))
          sklearn_a, sklearn_b = skl_model._a, skl_model._b
  
          assert abs(cuml_a) - abs(sklearn_a) < 1e-6
          assert abs(cuml_b) - abs(sklearn_b) < 1e-6
  
      compare_exp_decay_params(min_dist=0.1, spread=1.0)
      compare_exp_decay_params(a=0.5, b=2.0)
      compare_exp_decay_params(a=0.5)
      compare_exp_decay_params(b=0.5)
      compare_exp_decay_params(min_dist=0.1, spread=10.0)
  
imports: import platform
  import pytest
  import copy
  import joblib
  from sklearn.metrics import adjusted_rand_score
  from sklearn.manifold import trustworthiness
  from sklearn.datasets import make_blobs
  from sklearn.cluster import KMeans
  from sklearn.neighbors import NearestNeighbors
  from sklearn import datasets
  from cuml.internals import logger
  from cuml.metrics import pairwise_distances
  from cuml.testing.utils import array_equal, unit_param, quality_param, stress_param
  from cuml.manifold.umap import UMAP
  from cuml.internals.safe_imports import cpu_only_import
  from cuml.internals.safe_imports import gpu_only_import
label_desc: Use image node_id 17 for calling a global function with example usage: test_exp_decay_params() without return types