code: def test_probability(X, means, covs):
      m, c = [1.7], [1.3]
      x = [[1.0], [2.0], [4.0], [3.7], [1.9]]
      y = [0.254418, 0.307986, 0.058056, 0.078564, 0.315853]
  
      d1 = StudentT(3, m, c)
      d2 = StudentT(
          3,
          numpy.array(m, dtype=numpy.float64),
          numpy.array(c, dtype=numpy.float64),
      )
  
      _test_predictions(x, y, d1.probability(x), torch.float32)
      _test_predictions(x, y, d2.probability(x), torch.float64)
  
      x = [[1.0, 2.0, 4]]
      y = [0.01065]
  
      d1 = StudentT(3, means, covs)
      d2 = StudentT(
          3,
          numpy.array(means, dtype=numpy.float64),
          numpy.array(covs, dtype=numpy.float64),
      )
  
      _test_predictions(x, y, d1.probability(x), torch.float32)
      _test_predictions(x, y, d2.probability(x), torch.float64)
  
      m, c = [1, 2, 4], [2, 1, 3]
      x = [[1, 2, 1], [2, 2, 1], [3, 1, 1], [2, 1, 2]]
      y = [0.005068, 0.003723, 0.001026, 0.004015]
  
      d1 = StudentT(3, m, c)
      d2 = StudentT(
          3,
          numpy.array(m, dtype=numpy.int32),
          numpy.array(c, dtype=numpy.int32),
      )
  
      _test_predictions(x, y, d1.probability(x), torch.float32)
      _test_predictions(x, y, d2.probability(x), torch.float32)
  
      m, c = [1.0, 2.0, 4.0], [2.0, 1.0, 3.0]
      d1 = StudentT(3, m, c)
      d2 = StudentT(
          3,
          numpy.array(m, dtype=numpy.float64),
          numpy.array(c, dtype=numpy.float64),
      )
      _test_predictions(x, y, d1.probability(x), torch.float32)
      _test_predictions(x, y, d2.probability(x), torch.float64)
  
      y = [
          1.540306e-02,
          8.734769e-03,
          3.866756e-02,
          1.825929e-03,
          2.802034e-04,
          2.755452e-05,
          2.244095e-03,
      ]
  
      d1 = StudentT(3, means, covs)
      d2 = StudentT(
          3,
          numpy.array(means, dtype=numpy.float64),
          numpy.array(covs, dtype=numpy.float64),
      )
  
      _test_predictions(X, y, d1.probability(X), torch.float32)
      _test_predictions(X, y, d2.probability(X), torch.float64)
  
imports: import os
  import numpy
  import torch
  import pytest
  from pomegranate.distributions import StudentT
  from ._utils import _test_initialization_raises_two_parameters
  from ._utils import _test_initialization
  from ._utils import _test_predictions
  from ._utils import _test_efd_from_summaries
  from ._utils import _test_raises
  from nose.tools import assert_raises
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 13 for calling a global function with example usage: test_probability(X, means, covs) without return types