code: def test_transform_univariate_dist_logp_shape():
      with pm.Model() as m:
          pm.Uniform("x", shape=(4, 3), transform=tr.logodds)
  
      assert m.logp(jacobian=False, sum=False)[0].type.shape == (4, 3)
      assert m.logp(jacobian=True, sum=False)[0].type.shape == (4, 3)
  
      with pm.Model() as m:
          pm.Uniform("x", shape=(4, 3), transform=tr.ordered)
  
      assert m.logp(jacobian=False, sum=False)[0].type.shape == (4,)
      assert m.logp(jacobian=True, sum=False)[0].type.shape == (4,)
  
imports: import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from pytensor.tensor.variable import TensorConstant
  import pymc
  import pymc.distributions.transforms
  from pymc.logprob.basic import transformed_conditional_logp
  from pymc.logprob.transforms import Transform
  from pymc.pytensorf import floatX, jacobian
  from pymc.testing import Circ, MultiSimplex, R, Rminusbig, Rplusbig, Simplex, SortedVector, Unit, UnitSortedVector, Vector
label_desc: Use image node_id 24 for calling a global function with example usage: test_transform_univariate_dist_logp_shape() without return types