code: def test_rfft(self):
      x = random(30)
      for n in [x.size, 2 * x.size]:
          for norm in [None, "backward", "ortho", "forward"]:
              assert_allclose(
                  np.fft.fft(x, n=n, norm=norm)[: (n // 2 + 1)],
                  np.fft.rfft(x, n=n, norm=norm),
                  atol=1e-6,
              )
          assert_allclose(
              np.fft.rfft(x, n=n),
              np.fft.rfft(x, n=n, norm="backward"),
              atol=1e-6,
          )
          assert_allclose(
              np.fft.rfft(x, n=n) / np.sqrt(n),
              np.fft.rfft(x, n=n, norm="ortho"),
              atol=1e-6,
          )
          assert_allclose(
              np.fft.rfft(x, n=n) / n,
              np.fft.rfft(x, n=n, 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 8 for calling the TestFFT1D obj's underlying member method code with example usage: obj.test_rfft() without return types