code: def test_vq_large_nfeat(self):
      X = np.random.rand(20, 20)
      code_book = np.random.rand(3, 20)
  
      codes0, dis0 = _vq.vq(X, code_book)
      codes1, dis1 = py_vq(X, code_book)
      assert_allclose(dis0, dis1, 1e-5)
      assert_array_equal(codes0, codes1)
  
      X = X.astype(np.float32)
      code_book = code_book.astype(np.float32)
  
      codes0, dis0 = _vq.vq(X, code_book)
      codes1, dis1 = py_vq(X, code_book)
      assert_allclose(dis0, dis1, 1e-5)
      assert_array_equal(codes0, codes1)
  
imports: from __future__ import division, print_function, absolute_import
  import warnings
  import sys
  import numpy
  from numpy.testing import assert_array_equal, assert_array_almost_equal, assert_allclose, assert_equal, assert_
  from scipy._lib._numpy_compat import suppress_warnings
  import pytest
  from pytest import raises
  from scipy.cluster.vq import kmeans, kmeans2, py_vq, vq, whiten, ClusterError, _krandinit
  from scipy.cluster import _vq
  from scipy.sparse.sputils import matrix
label_desc: Use image node_id 6 for calling the TestVq obj's underlying member method code with example usage: obj.test_vq_large_nfeat() without return types