code: def test_mu_law_companding(self):
      quantization_channels = 256
  
      waveform = self.waveform.clone()
      if not waveform.is_floating_point():
          waveform = waveform.to(torch.get_default_dtype())
      waveform /= torch.abs(waveform).max()
  
      self.assertTrue(waveform.min() >= -1.0 and waveform.max() <= 1.0)
  
      waveform_mu = transforms.MuLawEncoding(quantization_channels)(
          waveform
      )
      self.assertTrue(
          waveform_mu.min() >= 0.0
          and waveform_mu.max() <= quantization_channels
      )
  
      waveform_exp = transforms.MuLawDecoding(quantization_channels)(
          waveform_mu
      )
      self.assertTrue(
          waveform_exp.min() >= -1.0 and waveform_exp.max() <= 1.0
      )
  
imports: import math
  import torch
  import torchaudio
  import torchaudio.functional
  import torchaudio.transforms
  from torchaudio_unittest import common_utils
label_desc: Use image node_id 2 for calling the Tester obj's underlying member method code with example usage: obj.test_mu_law_companding() without return types