internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: ivy-llc/ivy

Issue:
sinc



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/numpy/mathematical_functions/other_special_functions.py b/ivy/functional/frontends/numpy/mathematical_functions/other_special_functions.py
--- a/ivy/functional/frontends/numpy/mathematical_functions/other_special_functions.py
+++ b/ivy/functional/frontends/numpy/mathematical_functions/other_special_functions.py
@@ -35,3 +35,10 @@ def unwrap(p, discont=None, axis=-1, *, period=2 * ivy.pi):
     up = ivy.array(p, copy=True, dtype=dtype)
     up[slice1] = p[slice1] + ph_correct.cumsum(axis)
     return up
+
+
+@to_ivy_arrays_and_back
+def sinc(x):
+    if ivy.get_num_dims(x) == 0:
+        x = ivy.astype(x, ivy.float64)
+    return ivy.sinc(x)


Test patch:
diff --git a/ivy_tests/array_api_testing/test_array_api b/ivy_tests/array_api_testing/test_array_api
--- a/ivy_tests/array_api_testing/test_array_api
+++ b/ivy_tests/array_api_testing/test_array_api
@@ -1 +1 @@
-Subproject commit 852a1ddfedb14742ec94a9dfc6b3f3d4e89d0189
+Subproject commit f82c7bc8627cc2c3a44fa3e425f53a253a609aa8
diff --git a/ivy_tests/test_ivy/test_frontends/test_numpy/test_mathematical_functions/test_other_special_functions.py b/ivy_tests/test_ivy/test_frontends/test_numpy/test_mathematical_functions/test_other_special_functions.py
--- a/ivy_tests/test_ivy/test_frontends/test_numpy/test_mathematical_functions/test_other_special_functions.py
+++ b/ivy_tests/test_ivy/test_frontends/test_numpy/test_mathematical_functions/test_other_special_functions.py
@@ -0,0 +1,32 @@
+# global
+from hypothesis import strategies as st
+
+# local
+import ivy_tests.test_ivy.helpers as helpers
+from ivy_tests.test_ivy.helpers import handle_frontend_test
+
+
+# sinc
+@handle_frontend_test(
+    fn_tree="numpy.sinc",
+    dtype_and_x=helpers.dtype_and_values(available_dtypes=helpers.get_dtypes("float")),
+    test_with_out=st.just(False),
+)
+def test_numpy_sinc(
+    dtype_and_x,
+    frontend,
+    backend_fw,
+    test_flags,
+    fn_tree,
+    on_device,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_function(
+        input_dtypes=input_dtype,
+        frontend=frontend,
+        backend_to_test=backend_fw,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        x=x[0],
+    )
Repository: ivy-llc/ivy

Issue:
scan



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/jax/lax/control_flow_operators.py b/ivy/functional/frontends/jax/lax/control_flow_operators.py
--- a/ivy/functional/frontends/jax/lax/control_flow_operators.py
+++ b/ivy/functional/frontends/jax/lax/control_flow_operators.py
@@ -58,3 +58,29 @@ def while_loop(cond_fun, body_fun, init_val):
     while cond_fun(val):
         val = body_fun(val)
     return val
+
+
+@to_ivy_arrays_and_back
+def scan(f, init, xs, length=None, reverse=False, unroll=1):
+    if not (callable(f)):
+        raise ivy.exceptions.IvyException(
+            "jax.lax.scan: Argument f should be callable."
+        )
+    if xs is None and length is None:
+        raise ivy.exceptions.IvyException(
+            "jax.lax.scan: Either xs or length must be provided."
+        )
+
+    if length is not None and (not isinstance(length, int) or length < 0):
+        raise ivy.exceptions.IvyException(
+            "jax.lax.scan: length must be a non-negative integer."
+        )
+    if xs is None:
+        xs = [None] * length
+
+    carry = init
+    ys = []
+    for x in xs:
+        carry, y = f(carry, x)
+        ys.append(y)
+    return carry, ivy.stack(ys)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_jax/test_lax/test_control_flow_operators.py b/ivy_tests/test_ivy/test_frontends/test_jax/test_lax/test_control_flow_operators.py
--- a/ivy_tests/test_ivy/test_frontends/test_jax/test_lax/test_control_flow_operators.py
+++ b/ivy_tests/test_ivy/test_frontends/test_jax/test_lax/test_control_flow_operators.py
@@ -213,3 +213,48 @@ def _test_body_fn(x):
         body_fun=_test_body_fn,
         init_val=x[0],
     )
+
+
+@handle_frontend_test(
+    fn_tree="jax.lax.scan",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("numeric"),
+        min_value=-1000,
+        max_value=1000,
+        min_num_dims=1,
+        min_dim_size=1,
+    ),
+    length=st.integers(min_value=-10, max_value=10),
+    init=st.integers(min_value=-10, max_value=10),
+    test_with_out=st.just(False),
+)
+def test_jax_scan(
+    *,
+    dtype_and_x,
+    length,
+    init,
+    test_flags,
+    on_device,
+    fn_tree,
+    frontend,
+    backend_fw,
+):
+    if length == 0 or length != len(dtype_and_x[1][0]):
+        return
+
+    def _test_scan_fn(carry, x):
+        return carry + x, x * 2
+
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_function(
+        input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        test_flags=test_flags,
+        frontend=frontend,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        f=_test_scan_fn,
+        init=init,
+        xs=x[0],
+        length=length,
+    )
Repository: ivy-llc/ivy

Issue:
wald
numpy.random frontend function wald


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/numpy/random/functions.py b/ivy/functional/frontends/numpy/random/functions.py
--- a/ivy/functional/frontends/numpy/random/functions.py
+++ b/ivy/functional/frontends/numpy/random/functions.py
@@ -219,6 +219,25 @@ def pareto(a, size=None):
     return ivy.pow(1 / (1 - u), 1 / a)
 
 
+@to_ivy_arrays_and_back
+@from_zero_dim_arrays_to_scalar
+def wald(mean, scale, size=None):
+    if size is None:
+        size = 1
+    mu_2l = mean / (2 * scale)
+    Y = ivy.random_normal(mean=0, std=1, shape=size, dtype="float64")
+    U = ivy.random_uniform(low=0.0, high=1.0, shape=size, dtype="float64")
+
+    Y = mean * ivy.square(Y)
+    X = mean + mu_2l * (Y - ivy.sqrt(((4 * scale) * Y) + ivy.square(Y)))
+
+    condition = U <= mean / (mean + X)
+    value1 = X
+    value2 = mean * mean / X
+
+    return ivy.where(condition, value1, value2)
+
+
 @to_ivy_arrays_and_back
 @from_zero_dim_arrays_to_scalar
 def triangular(left, mode, right, size=None):


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py b/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
--- a/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
+++ b/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
@@ -919,6 +919,53 @@ def test_numpy_pareto(
     )
 
 
+@handle_frontend_test(
+    fn_tree="numpy.random.wald",
+    input_dtypes=helpers.get_dtypes("float"),
+    mean=st.floats(
+        allow_nan=False,
+        allow_infinity=False,
+        width=32,
+        min_value=0,
+        exclude_min=True,
+        max_value=1000,
+    ),
+    scale=st.floats(
+        allow_nan=False,
+        allow_infinity=False,
+        width=32,
+        min_value=0,
+        exclude_min=True,
+        max_value=1000,
+    ),
+    size=helpers.get_shape(allow_none=False),
+)
+def test_numpy_wald(
+    input_dtypes,
+    size,
+    frontend,
+    test_flags,
+    backend_fw,
+    fn_tree,
+    on_device,
+    mean,
+    scale,
+):
+    test_flags.num_positional_args = 2
+    helpers.test_frontend_function(
+        input_dtypes=input_dtypes,
+        backend_to_test=backend_fw,
+        frontend=frontend,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        test_values=False,
+        mean=mean,
+        scale=scale,
+        size=size,
+    )
+
+
 @handle_frontend_test(
     fn_tree="numpy.random.triangular",
     input_dtypes=helpers.get_dtypes("float"),
Repository: ivy-llc/ivy

Issue:
normalize



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/vision/transforms.py b/ivy/functional/frontends/paddle/vision/transforms.py
--- a/ivy/functional/frontends/paddle/vision/transforms.py
+++ b/ivy/functional/frontends/paddle/vision/transforms.py
@@ -145,6 +145,23 @@ def adjust_brightness(img, brightness_factor):
     return _blend_images(img, extreme_target, brightness_factor)
 
 
+@with_supported_dtypes(
+    {"2.5.1 and below": ("float32", "float64", "int32", "int64")}, "paddle"
+)
+def normalize(img, mean, std, data_format="CHW", to_rgb=False):
+    if ivy.is_array(img):
+        if data_format == "HWC":
+            permuted_axes = [2, 0, 1]
+        else:
+            permuted_axes = [0, 1, 2]
+
+        img_np = ivy.permute(img, permuted_axes)
+        normalized_img = ivy.divide(ivy.subtract(img_np, mean), std)
+        return normalized_img
+    else:
+        raise ValueError("Unsupported input format")
+
+
 @with_unsupported_device_and_dtypes(
     {
         "2.5.1 and below": {


Test patch:
Repository: ivy-llc/ivy

Issue:
choice
 Adding Numpy.random.choice function 


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/numpy/random/functions.py b/ivy/functional/frontends/numpy/random/functions.py
--- a/ivy/functional/frontends/numpy/random/functions.py
+++ b/ivy/functional/frontends/numpy/random/functions.py
@@ -45,6 +45,25 @@ def chisquare(df, size=None):
     return ivy.gamma(df / 2, 2, dtype="float64")
 
 
+@to_ivy_arrays_and_back
+@from_zero_dim_arrays_to_scalar
+def choice(a, size=None, replace=True, p=None):
+    sc_size = 1
+    if isinstance(size, int):
+        sc_size = size
+    elif size is not None:
+        #  If the given shape is, e.g., (m, n, k)
+        #  then m * n * k samples are drawn. As per numpy docs
+        sc_size = 1
+        for s in size:
+            if s is not None:
+                sc_size *= s
+    if isinstance(a, int):
+        a = ivy.arange(a)
+    index = ivy.multinomial(len(a), sc_size, replace=replace, probs=p)
+    return a[index]
+
+
 @to_ivy_arrays_and_back
 @from_zero_dim_arrays_to_scalar
 def dirichlet(alpha, size=None):


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py b/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
--- a/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
+++ b/ivy_tests/test_ivy/test_frontends/test_numpy/test_random/test_functions.py
@@ -146,6 +146,37 @@ def test_numpy_chisquare(
     )
 
 
+@handle_frontend_test(
+    fn_tree="numpy.random.choice",
+    dtypes=helpers.get_dtypes("float", full=False),
+    a=helpers.ints(min_value=2, max_value=10),
+    size=helpers.get_shape(allow_none=True),
+)
+def test_numpy_choice(
+    dtypes,
+    size,
+    frontend,
+    test_flags,
+    backend_fw,
+    fn_tree,
+    on_device,
+    a,
+):
+    helpers.test_frontend_function(
+        input_dtypes=dtypes,
+        backend_to_test=backend_fw,
+        frontend=frontend,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        test_values=False,
+        a=a,
+        size=size,
+        replace=True,
+        p=np.array([1 / a] * a, dtype=dtypes[0]),
+    )
+
+
 # dirichlet
 @handle_frontend_test(
     fn_tree="numpy.random.dirichlet",
Repository: ivy-llc/ivy

Issue:
exp_



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/tensor/tensor.py b/ivy/functional/frontends/paddle/tensor/tensor.py
--- a/ivy/functional/frontends/paddle/tensor/tensor.py
+++ b/ivy/functional/frontends/paddle/tensor/tensor.py
@@ -153,6 +153,11 @@ def cos(self, name=None):
     @with_unsupported_dtypes({"2.5.1 and below": ("float16", "bfloat16")}, "paddle")
     def exp(self, name=None):
         return paddle_frontend.Tensor(ivy.exp(self._ivy_array))
+        
+    @with_unsupported_dtypes({"2.5.1 and below": ("float16", "bfloat16")}, "paddle")
+    def exp_(self, name=None):
+        self.ivy_array = self.exp().ivy_array
+        return self
 
     @with_supported_dtypes({"2.5.1 and below": ("float32", "float64")}, "paddle")
     def erf(self, name=None):


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
@@ -593,7 +593,39 @@ def test_paddle_tensor_exp(
         frontend=frontend,
         on_device=on_device,
     )
-
+# exp_
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="paddle.to_tensor",
+    method_name="exp_",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("float"),
+    ),
+)
+def test_paddle_tensor_exp_(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    frontend,
+    on_device,
+    backend_fw,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        init_all_as_kwargs_np={
+            "data": x[0],
+        },
+        method_input_dtypes=input_dtype,
+        method_all_as_kwargs_np={},
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        frontend=frontend,
+        on_device=on_device,
+    )
 
 # cos
 @handle_frontend_method(
Repository: ivy-llc/ivy

Issue:
trunc
- [ ] #15115 


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/tensor/tensor.py b/ivy/functional/frontends/paddle/tensor/tensor.py
--- a/ivy/functional/frontends/paddle/tensor/tensor.py
+++ b/ivy/functional/frontends/paddle/tensor/tensor.py
@@ -617,3 +617,9 @@ def std(self, axis=None, unbiased=True, keepdim=False, name=None):
         return paddle_frontend.Tensor(
             ivy.std(self._ivy_array, axis=axis, keepdims=keepdim)
         )
+    
+    @with_supported_dtypes(
+        {"2.5.1 and below": ("int32", "int64", "float32", "float64")}, "paddle"
+    )
+    def trunc(self, name=None):
+        return paddle_frontend.Tensor(ivy.trunc(self._ivy_array))


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
@@ -2795,3 +2795,37 @@ def test_paddle_tensor_numel(
         frontend=frontend,
         on_device=on_device,
     )
+
+
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="paddle.to_tensor",
+    method_name="trunc",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("valid"),
+    ),
+)
+def test_paddle_tensor_trunc(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    frontend,
+    backend_fw,
+    on_device,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtype,
+        init_all_as_kwargs_np={
+            "data": x[0],
+        },
+        method_input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        method_all_as_kwargs_np={},
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        frontend=frontend,
+        on_device=on_device,
+    )
Repository: ivy-llc/ivy

Issue:
kaiser_bessel_derived_window
- [ ] #1559


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/tensorflow/signal.py b/ivy/functional/frontends/tensorflow/signal.py
--- a/ivy/functional/frontends/tensorflow/signal.py
+++ b/ivy/functional/frontends/tensorflow/signal.py
@@ -19,6 +19,15 @@ def idct(input, type=2, n=None, axis=-1, norm=None, name=None):
     return ivy.dct(input, type=inverse_type, n=n, axis=axis, norm=norm)
 
 
+# kaiser_bessel_derived_window
+@handle_tf_dtype
+@to_ivy_arrays_and_back
+def kaiser_bessel_derived_window(
+    window_length, beta=12.0, dtype=ivy.float32, name=None
+):
+    return ivy.kaiser_bessel_derived_window(window_length, beta=beta, dtype=dtype)
+
+
 @with_supported_dtypes(
     {"2.13.0 and below": ("float32", "float64", "float16", "bfloat16")},
     "tensorflow",
@@ -36,3 +45,11 @@ def kaiser_window(window_length, beta=12.0, dtype=ivy.float32, name=None):
 @to_ivy_arrays_and_back
 def vorbis_window(window_length, dtype=ivy.float32, name=None):
     return ivy.vorbis_window(window_length, dtype=dtype, out=None)
+
+
+kaiser_bessel_derived_window.supported_dtypes = (
+    "float32",
+    "float64",
+    "float16",
+    "bfloat16",
+)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
--- a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
+++ b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
@@ -119,6 +119,43 @@ def test_tensorflow_idct(
     )
 
 
+# kaiser_bessel_derived_window
+@handle_frontend_test(
+    fn_tree="tensorflow.signal.kaiser_bessel_derived_window",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("valid"),
+        max_num_dims=0,
+        min_value=1,
+        max_value=10,
+    ),
+    beta=st.floats(min_value=1, max_value=5),
+    # dtype=helpers.get_dtypes("float", full=False),
+    test_with_out=st.just(False),
+)
+def test_tensorflow_kaiser_bessel_derived_window(
+    *,
+    dtype_and_x,
+    beta,
+    test_flags,
+    backend_fw,
+    fn_tree,
+    on_device,
+    frontend,  # dtype
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_function(
+        input_dtypes=input_dtype,
+        test_flags=test_flags,
+        backend_to_test=backend_fw,
+        frontend=frontend,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        window_length=int(x[0]),
+        beta=beta,
+        # dtype=dtype[0],
+    )
+
+
 # kaiser_window
 @handle_frontend_test(
     fn_tree="tensorflow.signal.kaiser_window",
Repository: ivy-llc/ivy

Issue:
as_real



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/tensor/tensor.py b/ivy/functional/frontends/paddle/tensor/tensor.py
--- a/ivy/functional/frontends/paddle/tensor/tensor.py
+++ b/ivy/functional/frontends/paddle/tensor/tensor.py
@@ -724,6 +724,16 @@ def std(self, axis=None, unbiased=True, keepdim=False, name=None):
     def trunc(self, name=None):
         return paddle_frontend.Tensor(ivy.trunc(self._ivy_array))
 
+    @with_supported_dtypes({"2.5.1 and below": ("complex64", "complex128")}, "paddle")
+    def as_real(self, name=None):
+        if not ivy.is_complex_dtype(self._ivy_array):
+            raise ivy.exceptions.IvyError(
+                "as_real is only supported for complex tensors"
+            )
+        re_part = ivy.real(self._ivy_array)
+        im_part = ivy.imag(self._ivy_array)
+        return ivy.stack((re_part, im_part), axis=-1)
+
     @with_supported_dtypes({"2.5.1 and below": ("float32", "float64")}, "paddle")
     def stanh(self, scale_a=0.67, scale_b=1.7159, name=None):
         return paddle_frontend.stanh(self, scale_a=scale_a, scale_b=scale_b)


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
--- a/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
+++ b/ivy_tests/test_ivy/test_frontends/test_paddle/test_tensor/test_tensor.py
@@ -3693,3 +3693,39 @@ def test_paddle_tensor_zero_(
         frontend=frontend,
         on_device=on_device,
     )
+
+
+# as_real
+@handle_frontend_method(
+    class_tree=CLASS_TREE,
+    init_tree="paddle.to_tensor",
+    method_name="as_real",
+    dtype_and_x=helpers.dtype_and_values(
+        available_dtypes=helpers.get_dtypes("valid"),
+        num_arrays=1,
+    ),
+)
+def test_paddle_as_real(
+    dtype_and_x,
+    frontend_method_data,
+    init_flags,
+    method_flags,
+    frontend,
+    backend_fw,
+    on_device,
+):
+    input_dtype, x = dtype_and_x
+    helpers.test_frontend_method(
+        init_input_dtypes=input_dtype,
+        init_all_as_kwargs_np={
+            "data": x[0],
+        },
+        method_input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        method_all_as_kwargs_np={},
+        frontend_method_data=frontend_method_data,
+        init_flags=init_flags,
+        method_flags=method_flags,
+        frontend=frontend,
+        on_device=on_device,
+    )
Repository: ivy-llc/ivy

Issue:
stft



Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/tensorflow/signal.py b/ivy/functional/frontends/tensorflow/signal.py
--- a/ivy/functional/frontends/tensorflow/signal.py
+++ b/ivy/functional/frontends/tensorflow/signal.py
@@ -29,6 +29,29 @@ def kaiser_window(window_length, beta=12.0, dtype=ivy.float32, name=None):
     return ivy.kaiser_window(window_length, periodic=False, beta=beta, dtype=dtype)
 
 
+# stft
+@to_ivy_arrays_and_back
+def stft(
+    signals,
+    frame_length,
+    frame_step,
+    fft_length=None,
+    window_fn=None,
+    pad_end=False,
+    name=None,
+):
+    signals = ivy.asarray(signals)
+    return ivy.stft(
+        signals,
+        frame_length,
+        frame_step,
+        fft_length=fft_length,
+        window_fn=window_fn,
+        pad_end=pad_end,
+        name=name,
+    )
+
+
 @with_supported_dtypes(
     {"2.13.0 and below": ("float16", "float32", "float64", "bfloat16")},
     "tensorflow",


Test patch:
diff --git a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
--- a/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
+++ b/ivy_tests/test_ivy/test_frontends/test_tensorflow/test_signal.py
@@ -31,6 +31,24 @@ def _valid_idct(draw):
     return dtype, x, type, n, axis, norm
 
 
+@st.composite
+def _valid_stft(draw):
+    dtype, x = draw(
+        helpers.dtype_and_values(
+            available_dtypes=["float32", "float64"],
+            max_value=65280,
+            min_value=-65280,
+            min_num_dims=1,
+            min_dim_size=2,
+            shared_dtype=True,
+        )
+    )
+    frame_length = draw(helpers.ints(min_value=16, max_value=100))
+    frame_step = draw(helpers.ints(min_value=1, max_value=50))
+
+    return dtype, x, frame_length, frame_step
+
+
 # --- Main --- #
 # ------------ #
 
@@ -157,6 +175,40 @@ def test_tensorflow_kaiser_window(
     )
 
 
+# test stft
+@handle_frontend_test(
+    fn_tree="tensorflow.signal.stft",
+    dtype_x_and_args=_valid_stft(),
+    test_with_out=st.just(False),
+)
+def test_tensorflow_stft(
+    *,
+    dtype_x_and_args,
+    frontend,
+    test_flags,
+    fn_tree,
+    backend_fw,
+    on_device,
+):
+    input_dtype, x, frame_length, frame_step = dtype_x_and_args
+    helpers.test_frontend_function(
+        input_dtypes=input_dtype,
+        backend_to_test=backend_fw,
+        frontend=frontend,
+        test_flags=test_flags,
+        fn_tree=fn_tree,
+        on_device=on_device,
+        signals=x[0],
+        frame_length=frame_length,
+        frame_step=frame_step,
+        fft_length=None,
+        window_fn=None,
+        pad_end=True,
+        atol=1e-02,
+        rtol=1e-02,
+    )
+
+
 # vorbis_window
 @handle_frontend_test(
     fn_tree="tensorflow.signal.vorbis_window",