FEAT: floor_divide
ufunc implementation
#175
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Copilot Summary
This pull request adds full support for the
floor_divide
operation for quad-precision floating-point numbers. It introduces robust implementations for both quad-precision and long double types, registers the new universal function (ufunc) with NumPy, updates documentation to reflect the new support, and adds comprehensive tests covering edge cases and mathematical properties.Implementation of
floor_divide
operation:quad_floor_divide
andld_floor_divide
functions inops.hpp
to correctly handle all special cases (NaN, infinities, signed zeros, etc.) and match NumPy's semantics for floor division with quad-precision and long double types. [1] [2]Integration with NumPy:
floor_divide
ufunc for quad-precision and long double types in the NumPy extension initialization, making it available as a NumPy operation.Documentation update:
release_tracker.md
to markfloor_divide
as fully supported for both quad and long double types.Testing and validation:
test_quaddtype.py
to verifyfloor_divide
correctness across a wide range of input values, including all relevant edge cases and mathematical properties.