So we should make sure that we don't bite ourselves with any primitive <-> object boxing when interfacing nicely with guava...
It should be fine, but there are places where it will not (e.g. passing a Function<Double, Double> to a Vector.apply() would, if allowed, probably result in a lot of ephemeral object creation) On Fri, Apr 12, 2013 at 4:55 AM, Dan Filimon <dangeorge.fili...@gmail.com>wrote: > 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 > -- -jake