OK. We do generate the float32 blas from the float64 blas code. In
principle you can do this for any numerical type (with care). In
practice the tests may (will) behave differently - for this reason we
don't test the float32 code. I imagine that we will do the same for the
lapack code in the longer term, though that would not work for integral
types.
We do have partial support for float32 matrices (blas only). Input into
broadening that by someone who cares would be appreciated (this might
also include test massaging). Integers, I can't see a role for in gonum
matrices.
To achieve what you want you would need to differentiate the parts that
depend on lapack and those that don't and only generate for those that
don't.
I think you would be better off either writing your own domain-specific
routines and interfacing the values from them to gonum/matrix if you
need the functions we provide. What do you anticipate you would
actually need, both in the 8 bit space and in the deeper linear algebra
space?
Dan
On Thu, 2016-11-24 at 21:40 +0000, Jake wrote:
> Oh, right - I should have been more clear: I mean to do this for the
> entire
> mat64 library (as well as the upstream gonum dependencies it has), at
> least
> whatever portions of it are applicable to integer math; doing it for
> the
> core API was just a small experiment.
>
> You're absolutely right I could convert my bytes to float space -
> though I
> was hoping to avoid it if I could. The use case is near-real time and
> cache-bound, so the value of fitting 8x more pixels per cache line is
> high.
>
> I suppose I was curious if there are plans to expand gonum to support
> eg.
> float32 and the integer types, to make sure I'm not spending a bunch
> of
> time on a solved problem.
>
> I'll keep poking around in that git repo, and we'll see how it goes
> :)
>
> Cheers,
> jake
>
> On Thu, Nov 24, 2016 at 2:58 PM Dan Kortschak <dan.kortschak@adelaide
--
Omnes mundum facimus.
Dan Kortschak <
dan.ko...@adelaide.edu.au>
F9B3 3810 C4DD E214 347C B8DA D879 B7A7 EECC 5A40
10C7 EEF4 A467 89C9 CA00 70DF C18F 3421 A744 607C