ivy
ivy copied to clipboard
EHN: adding bitwise funtion in paddle tensor.py
Adding bitwise_xor, Closes #17414
Frontend Task Checklist
IMPORTANT NOTICE 🚨:
The Ivy Docs represent the ground truth for the task descriptions and this checklist should only be used as a supplementary item to aid with the review process.
LEGEND 🗺:
- ❌ : Check item is not completed.
- ✅ : Check item is ready for review.
- 🆘 : Stuck/Doubting implementation (PR author should add comments explaining why).
- ⏩ : Check is not applicable to function (skip).
- 🆗 : Check item is implemented and does not require any edits.
CHECKS 📑:
-
- [x] 🆗: The function/method definition is not missing any of the original arguments.
-
- [x] ⏩: In case the function/method to be implemented is an alias of an existing function/method:
-
- [x] ⏩: It is being declared as such by setting
fun1 = fun2
, rather than being re-implemented from scratch.
- [x] ⏩: It is being declared as such by setting
-
- [x] ⏩: The alias is added to the existing function/method's test in the
aliases
parameter ofhandle_frontend_test
/handle_frontend_method
.
- [x] ⏩: The alias is added to the existing function/method's test in the
-
- [x] ⏩: In case the function/method to be implemented is an alias of an existing function/method:
-
- [x] 🆗: The naming of the function/method and its arguments exactly matches the original.
-
- [x] 🆗: No defined argument is being ignored in the function/method's implementation.
-
- [x] ⏩: In special cases where an argument's implementation should be pending due to an incomplete superset of an ivy function:
-
- [x] ⏩: A descriptive comment has been left under the
Implement superset behavior
ToDo list in https://github.com/unifyai/ivy/issues/6406.
- [x] ⏩: A descriptive comment has been left under the
-
- [x] ⏩: A ToDo comment has been added prompting to pass the frontend argument to the ivy function whose behavior is to be extended.
-
- [x] ⏩: In special cases where an argument's implementation should be pending due to an incomplete superset of an ivy function:
-
- [x] ⏩: In case a frontend function is being added:
-
- [x] ⏩: It is a composition of ivy functions.
-
- [x] ⏩: In case the needed composition is long (using numerous ivy functions), a
Missing Function Suggestion
issue has been opened to suggest a new ivy function should be added to shorten the frontend implementation.
- [x] ⏩: In case the needed composition is long (using numerous ivy functions), a
-
- [x] ⏩:
@to_ivy_arrays_and_back
has been added to the function.
- [x] ⏩:
-
- [x] ⏩: In case a frontend function is being added:
-
- [x] 🆗: In case a frontend method is being added:
-
- [x] 🆗: It is composed of existing frontend functions or methods.
-
- [x] 🆗: If a required frontend function has not yet been added, the method may be implemented as a composition of ivy functions, making sure that:
- [x] 🆗:
@to_ivy_arrays_and_back
has been added to the method. - [x] 🆗: A ToDo comment has been made prompting to remove the decorator and update the implementation as soon as the missing function has been added.
- [x] 🆗:
- [x] 🆗: If a required frontend function has not yet been added, the method may be implemented as a composition of ivy functions, making sure that:
-
- [x] 🆗: In case a frontend method is being added:
-
- [x] 🆗: The function/method's test has been added (except in the alias case mentioned in <2>):
-
- [x] 🆗: All supported arguments are being generated in
handle_frontend_test
/handle_frontend_method
and passed totest_frontend_function
/test_frontend_method
.
- [x] 🆗: All supported arguments are being generated in
-
- [x] 🆗: The argument generation covers all possible supported values. Array sizes, dimensions, and axes adhere to the full supported set of the original function/method.
-
- [x] 🆗: The
available_dtypes
parameter passed to the helper generating the function/method's input array is set tohelpers.get_dtypes("valid")
. If there are unsupported dtypes that cause the test to fail, they should be handled by adding@with_supported_dtypes
/@with_unsupported_dtype
to the function/method.
- [x] 🆗: The
-
- [x] 🆗: The function/method's test has been added (except in the alias case mentioned in <2>):
-
- [x] 🆗: The PR is not introducing any test failures.
-
- [x] 🆗: The lint checks are passing.
-
- [x] 🆗: The implemented test is passing for all backends.
-
- [x] 🆗: The PR is not introducing any test failures.
-
- [x] 🆗: The PR
closes
aSub Task
issue linked to one of the open frontend ToDo lists.
- [x] 🆗: The PR
-
- [x] 🆗: The function/method and its test have been added to the correct
.py
files corresponding to the addressed ToDo list.
- [x] 🆗: The function/method and its test have been added to the correct
-
- [x] 🆗: The PR only contains changes relevant to the addressed subtask.
@KareemMAX sir, when you are going to merge this PR ?
@MuhammadNizamani once we fix the current issue your PR will be good to merge after running tests. Please refer to the latest comment I made on the unresolved conversation
LGTM! merging now
Thanks for your work @MuhammadNizamani 🚀🚀🚀