FIX: Allow promotion of Python abstract dtype + fill implementation #172
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.
closes #171
Copilot Summary
This pull request enhances the quad-precision dtype implementation for NumPy by improving type compatibility and array filling functionality. The main changes include better handling of Python numeric types for dtype promotion and discovery, and the addition of a specialized fill function for generating arithmetic progressions in quad-precision arrays.
Improved dtype compatibility and type discovery:
common_dtype
to treat Python abstract dtypes (PyLongDType
,PyFloatDType
) as compatible with quad-precision, ensuring correct type promotion when mixing these types.quadprec_discover_descriptor_from_pyobject
to accept Pythonint
andfloat
objects, returning a default quad-precision descriptor, and improved error handling for unsupported types.New array fill functionality:
quadprec_fill
function to efficiently fill quad-precision arrays with arithmetic progressions, supporting both Sleef and long double backends.