minpack
minpack copied to clipboard
Port features from certik/minpack
I have archived the https://github.com/certik/minpack repository and moved the open issue from there to here. What remains is to port all the improvements that were implemented there over to this repository.
The tree from the other repo is available at https://github.com/fortran-lang/minpack/tree/c0dc9cd as well.
Here's a small batch of commits I looked at:
- https://github.com/certik/minpack/commit/a8021e3a2d8dca96395081d52713af30f95dde16, Use epsilon() intrinsic; solved by module parameter in line https://github.com/fortran-lang/minpack/blob/026c4e6229a2a3c65f1b628a66a8ccc0075125f2/src/minpack.f90#L16
- https://github.com/certik/minpack/commit/8261e8afdcc7d80ade1e1b523891f0a0d9fa3d01, Make dpmpar portable using epsilon, tiny and huge; see
dpmparmodule parameter above - https://github.com/certik/minpack/commit/e0544f7cfb685e1ba82ee4c96fff77786049628f, Remove ibmdpdr.f; file doesn't exist in this repository
- https://github.com/certik/minpack/commit/f9e807abc2071e47ccc98191e159d7f8b3114d91, Move *drv.f into ex/; the present project has moved the example drivers to the
/testfolder. Upon first glance, I couldn't figure out what happened to the fileucodrv.f.
I'm not sure if you're aware, but there seems to be another modernised F90 version by John Burkardt around, not sure if that could be useful when comparing different implementations or so? https://people.sc.fsu.edu/~jburkardt/f_src/minpack/minpack.html
I don't think we need it for anything. We tested the refactored version against the original one and made sure the results were the same. I think ours is superior to other refactoring attempts I've seen for various reasons (ours is in a module so we get interface checking, permissive license, more effective refactoring/goto removals/etc, all real constants use the kind parameter rather than D0, fully integrated with the Fortran Package Manager, etc.)