Week 7 Check-in

Published: 07/21/2020

What did you do this week?

I started a new PR that adds multimethods for functional programming routines. The multimethods added are the following:

  • apply_along_axis
  • apply_over_axes
  • frompyfunc
  • piecewise

Other work done this week was mainly adding default implementations to a previous PR that adds multimethods for mathematical functions. I've also managed to finally pick up the work started by one of my mentors that adds an overriding class (this was discussed in previous blog posts). This was done by adding the function overriden_class to both Dask and Sparse backends.

What is coming up next?

Next week I will be starting a new PR that adds multimethods for indexing routines and also patch up the ongoing PRs from this week. I will also try to open a new PR that branches off from this one and adds the work done this week on the overriding class. When this is merged it will enable me to add some mutlimethods that I've been holding off like nan_to_num and real_if_close.

Did you get stuck anywhere?

Trying to understand NumPy's implementations for some mathematical functions like unwrap and interp to implement their defaults was a bit difficult at first but I managed to self unblock. I haven't previously looked at NumPy's code for help on writing defaults but this week I found it to be very helpful although it can also be confusing sometimes (and can feel like cheating). I still didn't fully understand unwraps's implementation though.