We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
rfftfreq


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `ivy/functional/frontends/paddle/fft.py`
Content:
```
1 # global
2 import ivy
3 from ivy.func_wrapper import with_supported_dtypes
4 from ivy.functional.frontends.paddle.func_wrapper import (
5     to_ivy_arrays_and_back,
6 )
7 
8 
9 @with_supported_dtypes(
10     {"2.5.1 and below": ("complex64", "complex128")},
11     "paddle",
12 )
13 @to_ivy_arrays_and_back
14 def fft(x, n=None, axis=-1.0, norm="backward", name=None):
15     ret = ivy.fft(ivy.astype(x, "complex128"), axis, norm=norm, n=n)
16     return ivy.astype(ret, x.dtype)
17 
18 
19 @with_supported_dtypes(
20     {
21         "2.5.1 and below": (
22             "int32",
23             "int64",
24             "float32",
25             "float64",
26             "complex64",
27             "complex128",
28         )
29     },
30     "paddle",
31 )
32 @to_ivy_arrays_and_back
33 def fftshift(x, axes=None, name=None):
34     shape = x.shape
35 
36     if axes is None:
37         axes = tuple(range(x.ndim))
38         shifts = [(dim // 2) for dim in shape]
39     elif isinstance(axes, int):
40         shifts = shape[axes] // 2
41     else:
42         shifts = ivy.concat([shape[ax] // 2 for ax in axes])
43 
44     roll = ivy.roll(x, shifts, axis=axes)
45 
46     return roll
47 
48 
49 @with_supported_dtypes(
50     {"2.5.1 and below": ("complex64", "complex128")},
51     "paddle",
52 )
53 @to_ivy_arrays_and_back
54 def hfft(x, n=None, axis=-1, norm="backward", name=None):
55     """Compute the FFT of a signal that has Hermitian symmetry, resulting in a real
56     spectrum."""
57     # Determine the input shape and axis length
58     input_shape = x.shape
59     input_len = input_shape[axis]
60 
61     # Calculate n if not provided
62     if n is None:
63         n = 2 * (input_len - 1)
64 
65     # Perform the FFT along the specified axis
66     result = ivy.fft(x, axis, n=n, norm=norm)
67 
68     return ivy.real(result)
69 
70 
71 @with_supported_dtypes(
72     {"2.5.1 and below": ("complex64", "complex128")},
73     "paddle",
74 )
75 @to_ivy_arrays_and_back
76 def ifft(x, n=None, axis=-1.0, norm="backward", name=None):
77     ret = ivy.ifft(ivy.astype(x, "complex128"), axis, norm=norm, n=n)
78     return ivy.astype(ret, x.dtype)
79 
80 
81 @with_supported_dtypes(
82     {
83         "2.5.1 and below": (
84             "int32",
85             "int64",
86             "float32",
87             "float64",
88         )
89     },
90     "paddle",
91 )
92 @to_ivy_arrays_and_back
93 def ifftshift(x, axes=None, name=None):
94     shape = x.shape
95 
96     if axes is None:
97         axes = tuple(range(x.ndim))
98         shifts = [-(dim // 2) for dim in shape]
99     elif isinstance(axes, int):
100         shifts = -(shape[axes] // 2)
101     else:
102         shifts = ivy.concat([-shape[ax] // 2 for ax in axes])
103 
104     roll = ivy.roll(x, shifts, axis=axes)
105 
106     return roll
107 
108 
109 @with_supported_dtypes(
110     {"2.5.1 and below": ("complex64", "complex128")},
111     "paddle",
112 )
113 @to_ivy_arrays_and_back
114 def irfft(x, n=None, axis=-1.0, norm="backward", name=None):
115     if n is None:
116         n = 2 * (x.shape[axis] - 1)
117 
118     pos_freq_terms = ivy.take_along_axis(x, range(n // 2 + 1), axis)
119     neg_freq_terms = ivy.conj(pos_freq_terms[1:-1][::-1])
120     combined_freq_terms = ivy.concat((pos_freq_terms, neg_freq_terms), axis=axis)
121     time_domain = ivy.ifft(combined_freq_terms, axis, norm=norm, n=n)
122     if ivy.isreal(x):
123         time_domain = ivy.real(time_domain)
124     return time_domain
125
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/ivy/functional/frontends/paddle/fft.py b/ivy/functional/frontends/paddle/fft.py
--- a/ivy/functional/frontends/paddle/fft.py
+++ b/ivy/functional/frontends/paddle/fft.py
@@ -122,3 +122,12 @@
     if ivy.isreal(x):
         time_domain = ivy.real(time_domain)
     return time_domain
+
+
+@to_ivy_arrays_and_back
+def rfftfreq(n, d=1.0, dtype=None, name=None):
+    dtype = ivy.default_dtype()
+    val = 1.0 / (n * d)
+    pos_max = n // 2 + 1
+    indices = ivy.arange(0, pos_max, dtype=dtype)
+    return indices * val

{"golden_diff": "diff --git a/ivy/functional/frontends/paddle/fft.py b/ivy/functional/frontends/paddle/fft.py\n--- a/ivy/functional/frontends/paddle/fft.py\n+++ b/ivy/functional/frontends/paddle/fft.py\n@@ -122,3 +122,12 @@\n     if ivy.isreal(x):\n         time_domain = ivy.real(time_domain)\n     return time_domain\n+\n+\n+@to_ivy_arrays_and_back\n+def rfftfreq(n, d=1.0, dtype=None, name=None):\n+    dtype = ivy.default_dtype()\n+    val = 1.0 / (n * d)\n+    pos_max = n // 2 + 1\n+    indices = ivy.arange(0, pos_max, dtype=dtype)\n+    return indices * val\n", "issue": "rfftfreq\n\n", "before_files": [{"content": "# global\nimport ivy\nfrom ivy.func_wrapper import with_supported_dtypes\nfrom ivy.functional.frontends.paddle.func_wrapper import (\n    to_ivy_arrays_and_back,\n)\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef fft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    ret = ivy.fft(ivy.astype(x, \"complex128\"), axis, norm=norm, n=n)\n    return ivy.astype(ret, x.dtype)\n\n\n@with_supported_dtypes(\n    {\n        \"2.5.1 and below\": (\n            \"int32\",\n            \"int64\",\n            \"float32\",\n            \"float64\",\n            \"complex64\",\n            \"complex128\",\n        )\n    },\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef fftshift(x, axes=None, name=None):\n    shape = x.shape\n\n    if axes is None:\n        axes = tuple(range(x.ndim))\n        shifts = [(dim // 2) for dim in shape]\n    elif isinstance(axes, int):\n        shifts = shape[axes] // 2\n    else:\n        shifts = ivy.concat([shape[ax] // 2 for ax in axes])\n\n    roll = ivy.roll(x, shifts, axis=axes)\n\n    return roll\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef hfft(x, n=None, axis=-1, norm=\"backward\", name=None):\n    \"\"\"Compute the FFT of a signal that has Hermitian symmetry, resulting in a real\n    spectrum.\"\"\"\n    # Determine the input shape and axis length\n    input_shape = x.shape\n    input_len = input_shape[axis]\n\n    # Calculate n if not provided\n    if n is None:\n        n = 2 * (input_len - 1)\n\n    # Perform the FFT along the specified axis\n    result = ivy.fft(x, axis, n=n, norm=norm)\n\n    return ivy.real(result)\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef ifft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    ret = ivy.ifft(ivy.astype(x, \"complex128\"), axis, norm=norm, n=n)\n    return ivy.astype(ret, x.dtype)\n\n\n@with_supported_dtypes(\n    {\n        \"2.5.1 and below\": (\n            \"int32\",\n            \"int64\",\n            \"float32\",\n            \"float64\",\n        )\n    },\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef ifftshift(x, axes=None, name=None):\n    shape = x.shape\n\n    if axes is None:\n        axes = tuple(range(x.ndim))\n        shifts = [-(dim // 2) for dim in shape]\n    elif isinstance(axes, int):\n        shifts = -(shape[axes] // 2)\n    else:\n        shifts = ivy.concat([-shape[ax] // 2 for ax in axes])\n\n    roll = ivy.roll(x, shifts, axis=axes)\n\n    return roll\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef irfft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    if n is None:\n        n = 2 * (x.shape[axis] - 1)\n\n    pos_freq_terms = ivy.take_along_axis(x, range(n // 2 + 1), axis)\n    neg_freq_terms = ivy.conj(pos_freq_terms[1:-1][::-1])\n    combined_freq_terms = ivy.concat((pos_freq_terms, neg_freq_terms), axis=axis)\n    time_domain = ivy.ifft(combined_freq_terms, axis, norm=norm, n=n)\n    if ivy.isreal(x):\n        time_domain = ivy.real(time_domain)\n    return time_domain\n", "path": "ivy/functional/frontends/paddle/fft.py"}], "after_files": [{"content": "# global\nimport ivy\nfrom ivy.func_wrapper import with_supported_dtypes\nfrom ivy.functional.frontends.paddle.func_wrapper import (\n    to_ivy_arrays_and_back,\n)\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef fft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    ret = ivy.fft(ivy.astype(x, \"complex128\"), axis, norm=norm, n=n)\n    return ivy.astype(ret, x.dtype)\n\n\n@with_supported_dtypes(\n    {\n        \"2.5.1 and below\": (\n            \"int32\",\n            \"int64\",\n            \"float32\",\n            \"float64\",\n            \"complex64\",\n            \"complex128\",\n        )\n    },\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef fftshift(x, axes=None, name=None):\n    shape = x.shape\n\n    if axes is None:\n        axes = tuple(range(x.ndim))\n        shifts = [(dim // 2) for dim in shape]\n    elif isinstance(axes, int):\n        shifts = shape[axes] // 2\n    else:\n        shifts = ivy.concat([shape[ax] // 2 for ax in axes])\n\n    roll = ivy.roll(x, shifts, axis=axes)\n\n    return roll\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef hfft(x, n=None, axis=-1, norm=\"backward\", name=None):\n    \"\"\"Compute the FFT of a signal that has Hermitian symmetry, resulting in a real\n    spectrum.\"\"\"\n    # Determine the input shape and axis length\n    input_shape = x.shape\n    input_len = input_shape[axis]\n\n    # Calculate n if not provided\n    if n is None:\n        n = 2 * (input_len - 1)\n\n    # Perform the FFT along the specified axis\n    result = ivy.fft(x, axis, n=n, norm=norm)\n\n    return ivy.real(result)\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef ifft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    ret = ivy.ifft(ivy.astype(x, \"complex128\"), axis, norm=norm, n=n)\n    return ivy.astype(ret, x.dtype)\n\n\n@with_supported_dtypes(\n    {\n        \"2.5.1 and below\": (\n            \"int32\",\n            \"int64\",\n            \"float32\",\n            \"float64\",\n        )\n    },\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef ifftshift(x, axes=None, name=None):\n    shape = x.shape\n\n    if axes is None:\n        axes = tuple(range(x.ndim))\n        shifts = [-(dim // 2) for dim in shape]\n    elif isinstance(axes, int):\n        shifts = -(shape[axes] // 2)\n    else:\n        shifts = ivy.concat([-shape[ax] // 2 for ax in axes])\n\n    roll = ivy.roll(x, shifts, axis=axes)\n\n    return roll\n\n\n@with_supported_dtypes(\n    {\"2.5.1 and below\": (\"complex64\", \"complex128\")},\n    \"paddle\",\n)\n@to_ivy_arrays_and_back\ndef irfft(x, n=None, axis=-1.0, norm=\"backward\", name=None):\n    if n is None:\n        n = 2 * (x.shape[axis] - 1)\n\n    pos_freq_terms = ivy.take_along_axis(x, range(n // 2 + 1), axis)\n    neg_freq_terms = ivy.conj(pos_freq_terms[1:-1][::-1])\n    combined_freq_terms = ivy.concat((pos_freq_terms, neg_freq_terms), axis=axis)\n    time_domain = ivy.ifft(combined_freq_terms, axis, norm=norm, n=n)\n    if ivy.isreal(x):\n        time_domain = ivy.real(time_domain)\n    return time_domain\n\n\n@to_ivy_arrays_and_back\ndef rfftfreq(n, d=1.0, dtype=None, name=None):\n    dtype = ivy.default_dtype()\n    val = 1.0 / (n * d)\n    pos_max = n // 2 + 1\n    indices = ivy.arange(0, pos_max, dtype=dtype)\n    return indices * val\n", "path": "ivy/functional/frontends/paddle/fft.py"}]}