docstr: Test that spectral_ops.stft/inverse_stft match a NumPy implementation.
docstr_tok: ["Test","that","spectral_ops.stft\/inverse_stft","match","a","NumPy","implementation","."]
code: def test_stft_and_inverse_stft(
      self,
      signal_length,
      frame_length,
      frame_step,
      fft_length,
      np_rtype,
      tol,
  ):
      """Test that spectral_ops.stft/inverse_stft match a NumPy implementation."""
      signal = np.random.random(signal_length).astype(np_rtype)
      self._compare(signal, frame_length, frame_step, fft_length, tol)
  
imports: import itertools
  from absl.testing import parameterized
  import numpy
  from tensorflow.python.eager import context
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops.signal import spectral_ops
  from tensorflow.python.ops.signal import window_ops
  from tensorflow.python.platform import test
label_desc: Use image node_id 8 for calling the SpectralOpsTest obj's underlying member method code with example usage: obj.test_stft_and_inverse_stft(signal_length, frame_length, frame_step, fft_length, np_rtype, tol) without return types