code: def test_ss_multidim_log_prob(expand_shape, dist):
      base_dist = dist[0](
          *(
              torch.tensor(param).expand(expand_shape)
              for param in dist[1]
          )
      ).to_event(1)
  
      loc = base_dist.sample((10,)) + Normal(0.0, 1e-3).sample()
  
      base_prob = base_dist.log_prob(loc)
      skewness = _skewness(base_dist.event_shape)
  
      ss = SineSkewed(base_dist, skewness)
      assert_equal(base_prob.shape, ss.log_prob(loc).shape)
      assert_equal(ss.sample().shape, torch.Size(expand_shape))
  
file_path: pyro/tests/distributions/test_sine_skewed.py
imports: from math import pi
  import pytest
  import torch
  import pyro
  from pyro.distributions import Normal, SineSkewed, Uniform, VonMises, constraints
  from pyro.infer import SVI, Trace_ELBO
  from pyro.optim import Adam
  from tests.common import assert_equal
label_desc: Use image node_id 2 for calling a global function with example usage: test_ss_multidim_log_prob(expand_shape, dist) without return types