code: def test_ihfft2(self):
      x = random((30, 20))
      expect = fft.ifft2(x)[:, :11]
      assert_array_almost_equal(expect, fft.ihfft2(x))
      assert_array_almost_equal(expect, fft.ihfft2(x, norm="backward"))
      assert_array_almost_equal(
          expect * np.sqrt(30 * 20), fft.ihfft2(x, norm="ortho")
      )
      assert_array_almost_equal(
          expect * (30 * 20), fft.ihfft2(x, norm="forward")
      )
  
imports: import queue
  import threading
  import multiprocessing
  import numpy
  import pytest
  from numpy.random import random
  from numpy.testing import assert_array_almost_equal, assert_array_equal, assert_allclose
  from pytest import raises
  import scipy.fft
label_desc: Use image node_id 17 for calling the TestFFT1D obj's underlying member method code with example usage: obj.test_ihfft2() without return types