code: def test_CovDiagonalGammaPrior(seeded_rng):
      cov_np = np.diag(np.exp(np.random.normal(size=m)))
      cov = CovDiagonalGammaPrior(
          size=m, sigma=np.diag(cov_np), alpha=1.5, beta=1e-10
      )
  
      ig = invgamma(1.5, scale=1e-10)
  
      # compute the naive version
      logdet_np, sinv_np, sinvx_np = logdet_sinv_np(X, cov_np)
      penalty_np = np.sum(ig.logpdf(1 / np.diag(cov_np)))
      assert_allclose(logdet_np, cov.logdet, rtol=rtol)
      assert_allclose(sinv_np, cov.solve(eye), rtol=rtol)
      assert_allclose(sinvx_np, cov.solve(X_tf), rtol=rtol)
      assert_allclose(penalty_np, cov.logp, rtol=rtol)
  
imports: import pytest
  import numpy
  from numpy.testing import assert_allclose
  from scipy.stats import norm, wishart, invgamma, invwishart
  import tensorflow
  from brainiak.matnormal.covs import CovIdentity, CovAR1, CovIsotropic, CovDiagonal, CovDiagonalGammaPrior, CovUnconstrainedCholesky, CovUnconstrainedCholeskyWishartReg, CovUnconstrainedInvCholesky, CovKroneckerFactored
label_desc: Use image node_id 8 for calling a global function with example usage: test_CovDiagonalGammaPrior(seeded_rng) without return types