On Sunday, 14 June 2015 at 09:59:22 UTC, Ilya Yaroshenko wrote:
We need D own BLAS implementation to do it.
Why can't you use "version" for those that want to use a BLAS
library for the implementation?
Those who want replications of LAPACK/LINPACK APIs can use
separate bindings? And those who want to use BLAS directly would
not use phobos anyway, but a direct binding so they can switch
implementation?
I think a good generic higher level linear algebra library for D
should aim to be equally useful for 2D Graphics, 3D/4D GPU
graphics, CAD solid modelling, robotics, 3D raytracing, higher
dimensional fractals, physics sims, image processing, signal
processing, scientific computing (which is pretty wide) and more.
The Phobos API should be user-level, not library-level like BLAS.
IMO. You really want an API that look like this in Phobos?
http://www.netlib.org/blas/
BLAS/LAPACK/LINPACK all originate in Fortran with a particular
scientific tradition in mind, so I think one should rethink how D
goes about this. Fortran has very primitive abstraction
mechanisms. This stuff is stuck in the 80s…