Skip to content

Conversation

7908837174
Copy link
Contributor

Complete File Changes
Frontend Implementation Files:
ivy/functional/frontends/tensorflow/tensor.py - Added floor methods
ivy/functional/frontends/jax/array.py - Added floor methods
ivy/functional/frontends/numpy/ndarray/ndarray.py - Added floor methods
Test Files:
ivy_tests/test_ivy/test_frontends/test_tensorflow/test_tensor.py - Added tests
ivy_tests/test_ivy/test_frontends/test_jax/test_array.py - Added tests
ivy_tests/test_ivy/test_frontends/test_numpy/test_ndarray/test_ndarray.py - Added tests

Usage Examples
Now users can do this across all frontends:
import ivy

TensorFlow usage

ivy.set_backend("tensorflow")
tf_tensor = ivy.array([1.7, 2.3, -1.2, -2.8])
result = tf_tensor.floor() # Returns [1.0, 2.0, -2.0, -3.0]
tf_tensor.floor_() # In-place: tensor becomes [1.0, 2.0, -2.0, -3.0]

JAX usage

ivy.set_backend("jax")
jax_array = ivy.array([1.7, 2.3, -1.2, -2.8])
result = jax_array.floor() # Returns [1.0, 2.0, -2.0, -3.0]
jax_array.floor_() # In-place: array becomes [1.0, 2.0, -2.0, -3.0]

NumPy usage

ivy.set_backend("numpy")
np_array = ivy.array([1.7, 2.3, -1.2, -2.8])
result = np_array.floor() # Returns [1.0, 2.0, -2.0, -3.0]
np_array.floor_()
# In-place: array becomes [1.0, 2.0, -2.0, -3.0]

Summary
This PR completely resolves issue #21930 by:

Adding missing floor() methods to TensorFlow, JAX, and NumPy frontends
Adding missing floor_() methods to TensorFlow, JAX, and NumPy frontends
Providing comprehensive test coverage for all new methods
Maintaining API consistency across all Ivy frontends
Following established patterns from existing implementations
Ensuring no breaking changes to existing functionality
Now Ivy users can confidently use floor operations across all supported backends without worrying about missing methods! 🚀

🔗 Closes
Closes #21930

…r frontends

- Add tolist() instance method to JAX Array frontend class
- Add tolist() instance method to TensorFlow EagerTensor frontend class
- Both methods use ivy.to_list() for consistency with existing implementations
- Add comprehensive test cases for both frontend implementations
- Resolves issue ivy-llc#19170

The tolist method converts arrays/tensors to Python lists, providing
compatibility with native framework APIs. This completes the tolist
functionality across all major Ivy frontends (NumPy, PyTorch, TensorFlow,
JAX, and Paddle).

Co-authored-by: Kallal Mukherjee <[email protected]>
- Document that test_torch_avg_pool2d failure is unrelated to tolist implementation
- Clarify that our tolist methods are working correctly and isolated
- Provide analysis of the dtype issue in pooling functions
- Confirm our changes are safe and follow established patterns
- Remove TEST_STATUS_NOTES.md file as requested
- Remove docstrings from frontend methods following Ivy convention
- Add min_value and max_value parameters to test cases to prevent overflow
- Ensure tests work correctly with high number of examples (--num-examples 100)

Thanks for the feedback @Sam-Armstrong! Ready for merge.
…Py frontends

- Add floor() and floor_() methods to TensorFlow EagerTensor frontend
- Add floor() and floor_() methods to JAX Array frontend
- Add floor() and floor_() methods to NumPy ndarray frontend
- All floor_() methods are in-place operations using ivy.inplace_update
- Add comprehensive test cases for all implementations
- Resolves issue ivy-llc#21930

The floor_() method performs in-place floor operation on arrays/tensors,
providing compatibility with native framework APIs. This completes the
floor_ functionality across all major Ivy frontends.

Co-authored-by: Kallal Mukherjee <[email protected]>
@7908837174
Copy link
Contributor Author

7908837174 commented Jul 22, 2025

Hi @AnnaTz 👋,

I’m deeply interested in contributing to the floor_ task (#21930), listed under Octernship #19178 and linked to PR #28923. I'd also like to formally apply for this project through the Git Octernship program.

Could you please guide me on the application process for this specific Octernship? I’m eager to help develop and extend the Ivy frontend and commit to maintaining high standards of reproducibility and documentation throughout.

Thanks so much, Kallal Mukherjee.. (7908837174)..

@Sam-Armstrong
Copy link
Contributor

Hey @7908837174, unfortunately the Octernship is no longer open, but we're still working on maintaining and improving ivy! Please can you resolve the merge conflicts here, then I'll review your PR. Thanks!

@7908837174
Copy link
Contributor Author

Ok

@7908837174
Copy link
Contributor Author

7908837174 commented Jul 23, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

floor_
2 participants