code: def test_absolute_rv_transform(test_val):
      x_rv = pt.abs(pt.random.normal())
      y_rv = pt.random.halfnormal()
  
      x_vv = x_rv.clone()
      y_vv = y_rv.clone()
      x_logp_fn = pytensor.function([x_vv], logp(x_rv, x_vv))
      with pytest.raises(NotImplementedError):
          logcdf(x_rv, x_vv)
      with pytest.raises(NotImplementedError):
          icdf(x_rv, x_vv)
  
      y_logp_fn = pytensor.function([y_vv], logp(y_rv, y_vv))
      np.testing.assert_allclose(
          x_logp_fn(test_val), y_logp_fn(test_val)
      )
  
imports: import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  import scipy
  import scipy.special
  from pytensor.graph.basic import equal_computations
  from pymc.distributions.continuous import Cauchy, ChiSquared
  from pymc.logprob.basic import conditional_logp, icdf, logcdf, logp
  from pymc.logprob.transforms import ArccoshTransform, ArcsinhTransform, ArctanhTransform, ChainedTransform, CoshTransform, ErfcTransform, ErfcxTransform, ErfTransform, ExpTransform, LocTransform, LogTransform, ScaleTransform, SinhTransform, TanhTransform, Transform
  from pymc.logprob.utils import ParameterValueError
  from pymc.testing import Rplusbig, Vector, assert_no_rvs
  from tests.distributions.test_transform import check_jacobian_det
label_desc: Use image node_id 3 for calling a global function with example usage: test_absolute_rv_transform(test_val) without return types