|
From: | Rik |
Subject: | Re: special functions reorganization in Octave |
Date: | Wed, 21 Jun 2017 11:59:14 -0700 |
On 06/10/2017 07:32 AM,
address@hidden wrote:
Michele, There is a big ongoing re-organization of the Octave code base to base it squarely on C++11. This will be excellent for future maintainability and accuracy, but will create hiccups in the meantime as the code base is undergoing a lot of change. In particular, make sure you issue Mercurial pulls frequently from the main repository. In the last two days I have delegated basic special functions, like erf or gamma, to the C++ std library. I also alphabetized the header and C++ files for lo-specfun because they were so complicated and alphabetical order seemed to be the lowest common organizing principle. I don't want to step on your toes, so I'll give you a heads up that I intend to remove the Fortran code in liboctave/external/slatec-fn that we no longer use. In my opinion, it would be nice to shift away from Fortran when possible to C/C++ which matches the core language of the rest of Octave. Perhaps jwe can weigh in here if he has a different opinion. I think this principle should guide your thinking about how to tackle repairing or replacing special functions. In other words, if you find yourself coding elaborate input validation or workarounds for the existing code, for example the Bessel functions from amos, then do consider some alternate source like gnulib, GNU Scientific Library, etc. which are based on C rather than Fortran. And if you must write new code for an algorithm, do it in the m-file language or C++, rather than anything else. Cheers, Rik |
[Prev in Thread] | Current Thread | [Next in Thread] |