I'm adding interfaces for DoubleDoubleFunctions with the following special
properties:
f(x, 0) = x for any x
f(0, y) = 0 for any y
so that we can speed up sparse vector operations in these cases [1].

Doing this, I'm also updating the existing functions in Functions.java to
support the new interfaces where appropriate.

I'm seeing some functions use the PlusMult class (subtraction notably) and
there seem to be lots of unused functions.
Also, these functions don't implement Guava's Function interface making
interfacing with Guava difficult in new code.

Is this just a case of this being older less cleaned-up code, or are there
reasons for this design?
If it's the former, would anyone be willing to have a look and do some
refactoring? Or, maybe add this as a started issue for GSOC students? :)

[1] https://issues.apache.org/jira/browse/MAHOUT-1190

Reply via email to