code: def test_dtype_match(dtype, Estimator):
      # Test that np.float32 input data is not cast to np.float64 when possible
      X = np.array(
          [[1, 1], [3, 4], [5, 7], [4, 1], [2, 6], [3, 10], [3, 2]],
          dtype=dtype,
      )
      y = np.array([1, 2, 3, 2, 0, 4, 5]).T
  
      model = Estimator()
      # check type consistency
      model.fit(X, y)
      attributes = ["coef_", "sigma_"]
      for attribute in attributes:
          assert getattr(model, attribute).dtype == X.dtype
  
      y_mean, y_std = model.predict(X, return_std=True)
      assert y_mean.dtype == X.dtype
      assert y_std.dtype == X.dtype
  
imports: from math import log
  import numpy
  import pytest
  from sklearn import datasets
  from sklearn.linear_model import ARDRegression, BayesianRidge, Ridge
  from sklearn.utils import check_random_state
  from sklearn.utils._testing import assert_almost_equal, assert_array_almost_equal, assert_array_less
  from sklearn.utils.extmath import fast_logdet
label_desc: Use image node_id 14 for calling a global function with example usage: test_dtype_match(dtype, Estimator) without return types