What did you do this week?
I started a new PR that adds multimethods for mathematical functions. The multimethods that were added are the following:
Trigonometric functions
degrees
radians
unwrap
Rounding
around
(and its aliaseround_
)fix
Sums, products, differences
cumprod
cumsum
nancumprod
nancumsum
ediff1d
cross
trapz
Other special functions
i0
sinc
Arithmetic operations
float_power
Handling complex numbers
angle
real
imag
conjugate
Miscellaneous
convolve
clip
nan_to_num
real_if_close
interp
I've also concluded the PR on array manipulation routines from previous weeks which still had some unresolved issues. It turns out that this week's work was mostly spent patching up the previous PR and less working on the new one unfortunately. This ended up delaying the new PR a bit but since the new one already added quite a few multimethods the schedule is unaffected.
What is coming up next?
Continuing the new PR by adding default implementations to the appropriate multimethods and starting a new PR that adds multimethods for functional programming routines. I already did some offline prototyping of default implementations for mathematical functions, the more easy ones at least. The more difficult ones (e.g., unwrap
, convolve
and interp
) should be the focus of that part of next week's work.
Did you get stuck anywhere?
There were no major blocks this week. The only issue was the somewhat precedence that the older PR had which prevented the newer one to advance. For example, both PRs had failing tests in the XND backend so this backend was removed (the project is not maintained anymore) in the older PR. Since this has now been merged the newer PR can now receive those changes that fix its failing tests.