code: def test_binary_search():
      # Test if the binary search finds Gaussians with desired perplexity.
      random_state = check_random_state(0)
      data = random_state.randn(50, 5)
      distances = pairwise_distances(data).astype(np.float32)
      desired_perplexity = 25.0
      P = _binary_search_perplexity(
          distances, desired_perplexity, verbose=0
      )
      P = np.maximum(P, np.finfo(np.double).eps)
      mean_perplexity = np.mean(
          [
              np.exp(-np.sum(P[i] * np.log(P[i])))
              for i in range(P.shape[0])
          ]
      )
      assert_almost_equal(
          mean_perplexity, desired_perplexity, decimal=3
      )
  
imports: import sys
  from io import StringIO
  import numpy
  import pytest
  import scipy.sparse
  from numpy.testing import assert_allclose
  from scipy.optimize import check_grad
  from scipy.spatial.distance import pdist, squareform
  from sklearn import config_context
  from sklearn.datasets import make_blobs
  from sklearn.exceptions import EfficiencyWarning
  from sklearn.manifold import TSNE, _barnes_hut_tsne
  from sklearn.manifold._t_sne import _gradient_descent, _joint_probabilities, _joint_probabilities_nn, _kl_divergence, _kl_divergence_bh, trustworthiness
  from sklearn.manifold._utils import _binary_search_perplexity
  from sklearn.metrics.pairwise import cosine_distances, manhattan_distances, pairwise_distances
  from sklearn.neighbors import NearestNeighbors, kneighbors_graph
  from sklearn.utils import check_random_state
  from sklearn.utils._testing import assert_almost_equal, assert_array_almost_equal, assert_array_equal, ignore_warnings, skip_if_32bit
  from sklearn.utils.fixes import CSR_CONTAINERS, LIL_CONTAINERS
label_desc: Use image node_id 2 for calling a global function with example usage: test_binary_search() without return types