Sun 22 Jan 2017 09:44:09 PM UTC, comment #2:
As co-author of the functions, I take care of this problem and apply a patch to default in a few days. It does not cause problems, but might shorten the running time, so I don't assume stable to be the right place.
|
Sat 21 Jan 2017 11:09:12 PM UTC, comment #1:
Amen to that. For reference, here are the function invocations in question.
Also, see bug #50116 where feval should be replaced with direct calls to C++ functions in libinterp using the Fname_of_function syntax.
|
Fri 20 Jan 2017 07:05:46 PM UTC, original submission:
In _ilu_.cc and _ichol_.cc, there are many calls to feval to execute the functions tril, triu, speye, and norm that should use liboctave functions directly.
Using feval for this is inefficient since it may involve the interpreter and always involves unnecessary conversion to/from octave_value objects.
For norm, we already have functions in liboctave to do the job.
For speye, I think it should be possible to call the sparse matrix contructor to generate a sparse identity matrix. If not, then we could easily define an speye function in liboctave.
For tril and triu, we should probably move the templates from corefcn/tril.cc to liboctave and export them in a public header file.
|