On Monday, 26 September 2016 at 12:05:46 UTC, Martin Tschierschke
wrote:
On Friday, 23 September 2016 at 13:25:30 UTC, Ilya Yaroshenko
wrote:
[...]
Sounds great!
During my time studying mathematics - in the last century, one
Dr. of the mathematical department has developed a C++ library
as glue to some fast C libs using the possibility of operator
overloading, to make the formulation of matrix algorithms quite
beautiful.
So would it be possible to get:
// Performs: c := alpha a x b + beta c
// glas is a pointer to a GlasContext
glas.gemm(alpha, a, b, beta, c);
transformed to something like:
Matrix A,B;
Real alpha,beta;
Vektor c;
c = alpha * A * B + beta * c;
Maybe not for performance but for readability purpose?
There was a recent thread about operator overloading but I
didn't understood the problem.
(sorry, still a D newbie).
Regards mt.
Yes, this is possible. But, first we need a more low level
interface. It will help to extend the Mir library and to write
bindings for other languages (Julia, Python, R).