code: def test_ihfft(self):
      x = random(14) + 1j * random(14)
      x_herm = np.concatenate((random(1), x, random(1)))
      x = np.concatenate((x_herm, x[::-1].conj()))
      assert_allclose(
          x_herm, np.fft.ihfft(np.fft.hfft(x_herm)), atol=1e-6
      )
      assert_allclose(
          x_herm,
          np.fft.ihfft(
              np.fft.hfft(x_herm, norm="backward"), norm="backward"
          ),
          atol=1e-6,
      )
      assert_allclose(
          x_herm,
          np.fft.ihfft(np.fft.hfft(x_herm, norm="ortho"), norm="ortho"),
          atol=1e-6,
      )
      assert_allclose(
          x_herm,
          np.fft.ihfft(
              np.fft.hfft(x_herm, norm="forward"), norm="forward"
          ),
          atol=1e-6,
      )
  
imports: import numpy
  import pytest
  from numpy.random import random
  from numpy.testing import assert_array_equal, assert_raises, assert_allclose, IS_WASM
  import threading
  import queue
label_desc: Use image node_id 15 for calling the TestFFT1D obj's underlying member method code with example usage: obj.test_ihfft() without return types