Open
Description
Like to see an arbitrary precision data type in stdlib. Other languages like python, c++, java and Julia have already implemented. As a programming language for scientific calculation, Fortran should have the arbitrary precision data type implemented as well.
GNU has a GMP multiple precision library for c++. To the Fortran side, there are David Bailey's MPfun2015 package (https://www.davidhbailey.com/dhbsoftware/) and David Smith's FM package (https://dmsmith.lmu.build/).
For arbitrary precision Lapack/Blas, there is mpack(http://mplapack.sourceforge.net/).
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
arjenmarkus commentedon Sep 14, 2020
Jim-215-Fisher commentedon Sep 20, 2020
For mpack, it is 2-caluse BSD style license. It has not been updated since 2012.
For MPfun2015 package, it has LIMITED BSD LICENSE, i do know what that means.
For FM package, it is free.
arjenmarkus commentedon Sep 22, 2020
tueda commentedon Apr 11, 2021
FYI: the latest version of
mplapack
(the name has been changed because of nakatamaho/mplapack#2) is sitting here: https://github.com/nakatamaho/mplapack.certik commentedon Feb 3, 2022
Yes, Fortran definitely needs an arbitrary precision floating point, as either a library or part of stdlib.
Arbitrary precision lapack/blas is also occasionally useful. I've used quadruple precision Lapack in the past by recompiling Lapack in quadruple precision. Not the best, but it worked to give me some extra precision.
@Jim-215-Fisher, would you be interested in working on this?
Jim-215-Fisher commentedon Feb 3, 2022
Yes, I would be glad to introduce an arbitrary precision package to stdlib. I need some feedback about implementation and interface.
Jim-215-Fisher commentedon Feb 5, 2022
Here is some thoughts about the implementation and interface of the arbitrary precision module for stdlib.
Any suggestion or comment?
certik commentedon Feb 6, 2022
CC @awvwgk, @milancurcic, @LKedward, @arjenmarkus
What would be the best approach?
awvwgk commentedon Feb 6, 2022
I have rather limited experience with multiprecision libraries (used them once for code generation in Ruby, but this is years ago).
Probably worth to collect some information what other libraries/languages are doing regarding representation, functionality and interfaces. A couple of Fortran compatible libraries are already linked above.
Another question is how much effort a multiprecision implementation in stdlib is going to be, especially regarding code review, testing and validation. Do we have the tools for this available?