Description
Below are lists of feasible but not yet implemented NumPy functions... ideal for first time contributors. If you would like to contribute a function, please first check the open "Pull Requests" to make sure someone else isn't already working on the one you chose! If the check-box next to the function is checked it means the function is already done...
As a new contributor, some instructions for getting set up for development are here and are a great place to start.
It should be possible to write these functions using the numba.extending.overload functionality, they are of varying difficulty. A guide to using @overload is here:
[ ]deprecated, see https://github.com/numpy/numpy/issues/14155np.alen-
np.allclose -
np.alltrue -
np.append -
np.argpartition -
np.argwhere -
np.around -
np.array_equal -
np.array_split -
np.asanyarray -
np.asarray_chkfinite -
np.asfarray [ ]deprecated, see https://github.com/numpy/numpy/pull/20414np.asscalar-
np.atleast_1d -
np.atleast_2d -
np.atleast_3d -
np.bartlett -
np.binary_repr -
np.bincount -
np.blackman -
np.compress -
np.count_nonzero -
np.cross -
np.cumproduct(just needs wiring) -
np.diag_indices -
np.diag_indices_from -
np.diagflat -
np.euler_gamma(constant) -
deprecated, see https://github.com/numpy/numpy/pull/22313np.fastCopyAndTranspose -
np.floatnonzero -
np.fliplr -
np.flipud [ ]deprecated see NumPy's NEP-0032.np.fv-
np.geomspace -
np.hamming -
np.hanning -
np.hsplit -
np.i0 -
np.in1d~ deprecated and removed https://github.com/numpy/numpy/pull/29978 -
np.indices -
np.infty(constant) -
np.inner -
np.intersect1d [ ]deprecated see NumPy's NEP-0032.np.ipmt[ ]deprecated see NumPy's NEP-0032.np.irr-
np.isclose -
np.iscomplex -
np.iscomplexobj -
np.isfortran -
np.isin -
np.isnat -
np.isneginf -
np.isposinf -
np.isreal -
np.isrealobj -
np.isscalar -
np.kaiser -
np.little_endian -
np.logspace -
np.meshgrid [ ]deprecated see NumPy's NEP-0032.np.mirr[ ]deprecated, see https://github.com/numpy/numpy/pull/22456np.msort(largely wiring!)-
np.nan_to_num -
np.nanargmax -
np.nanargmin -
np.ndim(just needs wiring) -
np.newaxis(just needs wiring) [ ]deprecated see NumPy's NEP-0032.np.nper[ ]deprecated see NumPy's NEP-0032.np.npv-
np.place [ ]deprecated see NumPy's NEP-0032.np.pmt-
np.poly -
np.polyadd -
np.polyder -
np.polydiv -
np.polyint -
np.polymul -
np.polysub -
np.polyval [ ]deprecated see NumPy's NEP-0032.np.ppmt-
np.product(just needs wiring) -
np.put -
np.putmask [ ]deprecated see NumPy's NEP-0032.np.pv[ ]deprecated see NumPy's NEP-0032.np.rate-
np.resize -
np.rot90 -
np.row_stack -
np.select -
np.setdiff1d -
np.setxor1d -
np.size(mostly wiring) -
np.sometrue(just needs wiring) (deprecated with 1.25 -
np.sortcomplex -
np.split -
np.tril_indices -
np.tril_indices_from -
np.triu_indices -
np.triu_indices_from -
np.trim_zeros -
np.union1d -
np.unravel_index -
np.unwrap -
np.vsplit
It is also seemingly possible to write these functions with numba.extending.overload but they are harder/it is less easy to determined difficultly in implementing these:
-
np.choose -
np.common_type -
np.copyto -
np.dsplit -
np.dstack -
np.fix -
np.gradient -
np.histogram2d -
np.histogramdd -
np.insert -
np.ix_ -
np.lexsort -
np.mask_indices -
np.maximum_sctype -
np.nested_iters -
np.pad -
np.piecewise -
np.polyfit -
np.put_along_axis -
np.squeeze -
np.swapaxis -
np.tensordor
These are likely to need lower level work:
-
np.broadcast_to -
np.broadcast_arrays -
np.byte_bounds -
np.packbits -
np.unpackbits