Repository: ivy-llc/ivy

Issue:
[Bug] readd `repeat_interleave` to manipulation.py at paddle frontends
It seems that the `repeat_interleave` functionality, which was introduced to `paddle_frontend` via [PR 23139](https://github.com/unifyai/ivy/pull/23139), might not have been reinstated during the `fix(frontend-paddle): Corrects namespace issues` [commit](https://github.com/unifyai/ivy/commit/9e62a00942dd3dfadc23791060bd9df8a7611e2d). As a result, running tests located at `ivy_tests/test_ivy/test_frontends/test_paddle/test_manipulation.py` produces an error.
```py
______________________________________ ERROR collecting ivy_tests/test_ivy/test_frontends/test_paddle/test_manipulation.py ________________________________________
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/opt/miniconda/envs/multienv/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
/opt/miniconda/envs/multienv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:178: in exec_module
    exec(co, module.__dict__)
ivy_tests/test_ivy/test_frontends/test_paddle/test_manipulation.py:449: in <module>
    def test_paddle_repeat_interleave(
ivy_tests/test_ivy/helpers/testing_helpers.py:540: in test_wrapper
    callable_fn, fn_name, fn_mod = _import_fn(fn_tree)
ivy_tests/test_ivy/helpers/testing_helpers.py:177: in _import_fn
    callable_fn = mod.__dict__[fn_name]
E   KeyError: 'repeat_interleave'
```


Discussion:

Resolving patch:
diff --git a/ivy/functional/frontends/paddle/manipulation.py b/ivy/functional/frontends/paddle/manipulation.py
--- a/ivy/functional/frontends/paddle/manipulation.py
+++ b/ivy/functional/frontends/paddle/manipulation.py
@@ -77,6 +77,15 @@ def gather(params, indices, axis=-1, batch_dims=0, name=None):
     return ivy.gather(params, indices, axis=axis, batch_dims=batch_dims)
 
 
+@with_supported_dtypes(
+    {"2.5.1 and below": ("int32", "int64", "float32", "float64")},
+    "paddle",
+)
+@to_ivy_arrays_and_back
+def repeat_interleave(x, repeats, axis=None, name=None):
+    return ivy.repeat(x, repeats, axis=axis)
+
+
 @to_ivy_arrays_and_back
 def reshape(x, shape):
     return ivy.reshape(x, shape)


Test patch: