code: def test_pca_dtype_preservation(setup):
      for svd_solver in solver_list:
          _check_pca_float_dtype_preservation(svd_solver)
          _check_pca_int_dtype_upcast_to_double(svd_solver)
  
imports: from itertools import product
  import numpy
  import pytest
  import scipy
  from sklearn import datasets
  from sklearn.utils._testing import assert_array_almost_equal, assert_almost_equal, assert_raises_regex, assert_raise_message, assert_raises
  from ....None import tensor
  from .._pca import PCA, _assess_dimension, _infer_dimension
label_desc: Use image node_id 27 for calling a global function with example usage: test_pca_dtype_preservation(setup) without return types