Releases: numpy/numpy-quaddtype
Releases · numpy/numpy-quaddtype
Numpy-QuadDType Release v1.0.0
Release Note Summary
This release marks the first stable version of NumPy QuadDType, providing IEEE 754 quadruple-precision (128-bit) floating-point arithmetic as a first-class NumPy dtype.
Highlights
- Documentation: New documentation site at numpy.org/numpy-quaddtype with installation guide, usage examples, and comprehensive API reference
- Platform support: Linux, macOS (Intel & Apple Silicon), and Windows; Python 3.11–3.14 including free-threading (GIL-free) builds; Big-endian architecture support; FMA-disable option for older x86-64 CPUs (Sandy Bridge era)
- New ufuncs:
logaddexp2,floor_divide,float_power,fmod,divmod,fabs,heaviside,conj/conjugate,expm1,cbrt,hypot,degrees/rad2deg,radians/deg2rad,nextafter,spacing,modf,ldexp,frexp, and all logical ufuncs - Enhanced scalar support:
is_integer,as_integer_ratio,imag/realgetters, buffer protocol,__version__attribute, and support fornp.bool, arbitrary-length Python ints, bytes, and sequences - Casting improvements:
same_valuecasting rule,StringDTypearray casting, fixed-length string casting, bytes array casting, and improved inter-backend quad2quad fixes - Type stubs: Full static typing support
- Serialization: Pickle and hash support
- Array functions:
argmax/argminslots,nonzero,scanfunc/fromstr, and comparison promoter registration - Build & CI: Migrated to standalone repository,
srclayout restructuring, SLEEF 3.9 integration, FMA-disable option for older CPUs, and documentation site with API docs
PRs from numpy-quaddtype (after migration)
- #64 Last stage fixes for v1.0.0 (@SwayamInSync)
- #63 Fix elementwise min/max doc header level (@juntyr)
- #62 SIMD/FMA compatibility for older CPUs (@SwayamInSync)
- #61 README and documentation updates (@SwayamInSync)
- #60 Register comparison promoter for QuadDType only (@SwayamInSync)
- #59 CI for older CPUs without FMA support (@SwayamInSync)
- #58 Add instructions for installing development version (@mhvk)
- #53 Enable documentation preview on PRs (@SwayamInSync)
- #51 Switch to released SLEEF 3.9 (@SwayamInSync)
- #50 Adding argmax and argmin slots (@SwayamInSync)
- #49 Add API docs (@juntyr)
- #48 Fixing compare arrfunc (@SwayamInSync)
- #45 Implement
quadprec_nonzero(@SwayamInSync) - #44 Bool cast support (@SwayamInSync)
PRs from numpy-user-dtypes (before migration)
- #255 Add build dependency on cmake and numpy 2.4 (@ngoldbaum)
- #253 Restructuring quaddtype to use
srclayout (@SwayamInSync) - #251 Fix: Making
powcompatible with cpythonpowsignature (@SwayamInSync) - #247 Refactor: General refactors + quad2quad inter-backend fixes (@SwayamInSync)
- #246 Implementing
same_valuecasting rule in quaddtype (@SwayamInSync) - #245 Implementing hash support in QuadDtype (@SwayamInSync)
- #244 Adding variable length
StringDTypeto/from QuadDType array casting (@SwayamInSync) - #240 SLEEF migration to 4.0 (@SwayamInSync)
- #238 Enable GIL for bytes/unicode array casting to/from Quaddtype (@SwayamInSync)
- #234 Fixing
QuadPrecisionscalar dtype exposure (@SwayamInSync) - #232 Adding pickle support to quaddtype (@SwayamInSync)
- #228 Adding Quad to and from bytes array casting support (@SwayamInSync)
- #227 Add basic documentation site (@melissawm)
- #225 Adding array casting support to fixed length strings (@SwayamInSync)
- #223 Adding Byte support to QuadPrecision scalar constructor (@SwayamInSync)
- #221 Implementing
is_integerandas_integer_ratioforQuadPrecision(@SwayamInSync) - #220 Fixing reduction logical ufuncs (@SwayamInSync)
- #218
QuadPrecision <: numpy.floating(@jorenham) - #215 stub
numpy_quaddtype.__version__(@jorenham) - #214 Adding Support for
scanfuncandfromstrArrayFunc (@SwayamInSync) - #213 Support arbitrary-length Python ints in QuadPrecision constructor (@SwayamInSync)
- #211 Trignometric ufunc tests (@SwayamInSync)
- #210 Tests for
imagandreal(@SwayamInSync) - #208
imagandrealgetters for QuadPrecision (@SwayamInSync) - #207 Add buffer protocol support to QuadPrecision scalar (@SwayamInSync)
- #203 Adding
__version__attribute tonumpy_quaddtype(@SwayamInSync) - #202 Add
np.boolsupport inQuadPrecision(@SwayamInSync) - #201 Allow passing
floating,integer, andbool_scalars toQuadPrecision.__new__(@jorenham) - #200
frexpufunc implementation (@SwayamInSync) - #199 Extending
QuadPrecisioninput to support arrays, sequences and np.numbers (@SwayamInSync) - #197 Fix Round-tripping QuadPrecision through string (@SwayamInSync)
- #195
ldexpufunc implementation (@SwayamInSync) - #192
modfufunc implementation (@SwayamInSync) - #191
spacingufunc implementation (@SwayamInSync) - #190
nextafterufunc implementation (@SwayamInSync) - #188 All logical ufunc implementation (@SwayamInSync)
- #187
radiansanddeg2radufunc implementation (@SwayamInSync) - #186
degreesandrad2degufuncs implementation (@SwayamInSync) - #185
hypotufunc implementation (@SwayamInSync) - #184
cbrtufunc implementation (@SwayamInSync) - #183
expm1ufunc implementation (@SwayamInSync) - #182
conjandconjugateufunc implementation (@SwayamInSync) - #181
heavisideufunc implementation (@SwayamInSync) - #180
fabsufunc implementation (@SwayamInSync) - #179
divmodufunc implementation (@SwayamInSync) - #178
fmodufunc implementation (@SwayamInSync) - #176
float_powerufunc implementation (@SwayamInSync) - #175
floor_divideufunc implementation (@SwayamInSync) - #174
logaddexp2ufunc implementation (@SwayamInSync) - #172 Allow promotion of Python abstract dtype + fill implementation (@SwayamInSync)