docstr: Check that when the value of absorption and scattering are the same
  across walls and frequency bands, the output histograms are:
  - all equal across frequency bands
  - equal to simply passing a float value instead of a (num_bands, D) or
  (D,) tensor.
docstr_tok: ["Check","that","when","the","value","of","absorption","and","scattering","are","the","same","across","walls","and","frequency","bands",",","the","output","histograms","are",":","-","all","equal","across","frequency","bands","-","equal","to","simply","passing","a","float","value","instead","of","a","(","num_bands",",","D",")","or","(","D",",",")","tensor","."]
code: def test_ray_tracing_per_band_per_wall_absorption(self):
      """Check that when the value of absorption and scattering are the same
      across walls and frequency bands, the output histograms are:
      - all equal across frequency bands
      - equal to simply passing a float value instead of a (num_bands, D) or
      (D,) tensor.
      """
  
      room_dim = torch.tensor([20, 25, 5], dtype=self.dtype)
      mic_array = torch.tensor([[2, 2, 0], [8, 8, 0]], dtype=self.dtype)
      source = torch.tensor([7, 6, 0], dtype=self.dtype)
      num_rays = 1_000
      ABS, SCAT = 0.1, 0.2
  
      hist_per_band_per_wall = F.ray_tracing(
          room=room_dim,
          source=source,
          mic_array=mic_array,
          num_rays=num_rays,
          absorption=torch.full(
              fill_value=ABS, size=(7, 6), dtype=self.dtype
          ),
          scattering=torch.full(
              fill_value=SCAT, size=(7, 6), dtype=self.dtype
          ),
      )
      hist_per_wall = F.ray_tracing(
          room=room_dim,
          source=source,
          mic_array=mic_array,
          num_rays=num_rays,
          absorption=torch.full(
              fill_value=ABS, size=(6,), dtype=self.dtype
          ),
          scattering=torch.full(
              fill_value=SCAT, size=(6,), dtype=self.dtype
          ),
      )
      hist_single = F.ray_tracing(
          room=room_dim,
          source=source,
          mic_array=mic_array,
          num_rays=num_rays,
          absorption=ABS,
          scattering=SCAT,
      )
      self.assertEqual(hist_per_band_per_wall.shape, (2, 7, 2500))
      self.assertEqual(hist_per_wall.shape, (2, 1, 2500))
      self.assertEqual(hist_single.shape, (2, 1, 2500))
      self.assertEqual(hist_single, hist_per_wall)
      self.assertEqual(
          hist_single.expand(hist_per_band_per_wall.shape),
          hist_per_band_per_wall,
      )
  
imports: import torch
  import torchaudio.prototype.functional
  from parameterized import param, parameterized
  from torchaudio_unittest.common_utils import nested_params, TestBaseMixin
  from .dsp_utils import exp_sigmoid, freq_ir, oscillator_bank, sinc_ir
label_desc: Use image node_id 17 for calling the FunctionalTestImpl obj's underlying member method code with example usage: obj.test_ray_tracing_per_band_per_wall_absorption() without return types