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
degreesradiansunwrap
Rounding
around(and its aliaseround_)fix
Sums, products, differences
cumprodcumsumnancumprodnancumsumediff1dcrosstrapz
Other special functions
i0sinc
Arithmetic operations
float_power
Handling complex numbers
anglerealimagconjugate
Miscellaneous
convolveclipnan_to_numreal_if_closeinterp
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.