|
|
Exflib is a simple software for scientific multiple-precision arithmetic
for C++ and Fortran 90/95.
- Basic arithmetic and comparisons
- Input/Output in decimal
- Basic mathematical functions
- Parallel computation with MPI, OpenMP
- C++ class implementation
- Overloaded operators, functions
- Rounding Control, Interval Arithmetic (experimental, not available in Alpha version)
- Numerical routines (Bessel, LU, QR, etc).
- Fortran90 Module implementation
- Operators, functions with INTERFACE
- Complex number interface
- Array operations
- MATLAB implementation
News
- 2023/08/05 : bug fix of BOZ expressions for gfortran-13 (Linux, MacOSX, Solaris)
- 2020/10/16 : bugs fixed (Linux, MacOSX, Solaris)
- 2020/09/23 : bugs fixed (Linux, MacOSX, Solaris)
- 2018/09/02 : bugs fixed (MATLAB, Octave)
- 2018/08/16 : Octave versions are available
- 2018/06/20 : OpenMP available (Linux and MacOSX)
- 2018/02/10 : 20180210 released, modification to MATLAB samples
- 2018/01/03 : 20180103 released, bugs fixed (MATLAB)
- 2017/10/18 : 20171018 released, bugs fixed (MATLAB)
- 2017/09/24 : 20170924 released, bugs fixed (Linux/MacOSX/Solaris/Windows 32bit/MATLAB) in multiplication and pow
- 2017/09/23 : 20170923 released, bug fixed (Linux/MacOSX/Solaris/Windows 32bit)
- 2017/09/22 : 20170922 released, bug fixed in atan2 (Linux/MacOSX/Solaris/Windows 32bit), float_div.S (Windows 32bit)
- 2017/09/12 : 20170912 released, bug fixed in atan2 (Linux/MacOSX/Solaris/Windows 32bit)
- 2017/09/06 : Windows (32bit) Fortran bug fix
- 2017/06/04 : Windows (32bit) DLL bug fix
- 2017/05/07 : MATLAB version released (Linux, MacOSX, and Windows 64-bit)
- 2017/02/04 : 20170204 released, bugs fixed sqrt (in linux)
- 2016/10/03 : 20161003 released, bugs fixed pow
- 2016/10/01 : 20161001 released, bugs fixed in cosh/sinh/pow
- 2016/08/08 : 20160808 released, bugs fixed in cosh/sinh
- 2016/08/01 : 20160801 released, bugs fixed in cosh/sinh
- bugs fixed in sinh, cosh (in C++ exfloat.h)
(sinh, cosh in FORTRAN90 are not affected)
- new implementation of atan2 (in C++ exfloat.h)
(atan2 is not implemented in FORTRAN90)
- 2009/12/30 : 20091230 released
- FORTRAN array operation module
- FORTRAN floating-point number manipulation
- FORTRAN, bug fix of zero determination
- 2009/10/17 : Modification in Makefiles
- 2009/10/01 : FORTRAN Complex Number Interface and samples, other bug fixes
- 2008/12/28 : Including FORTRAN files in Windows DLL package
- 2008/11/20 : Bug fix for x86_64-linux
- 2008/11/01 : New version released
(performance improvements, bug fixes)
- 2007/11/20 : release for in Intel MacOS X
- 2007/09/13 : Tutorial Seminar of Multiple-Precision Arithmetic (9/26,9/27)
- 2006/10/11 : 20061011 released
- Comparison rule with an integer is changed
- g95 in cygwin/mingw works well
- Fortran90's bug in linking compiled_date is fixed
- 2006/08/08 : Source Code 20060801 released
- 2006/08/01 : Checking Visual C++ 2005 Express Edition
- 2006/08/01 : English documents
- 2006/04/17 : 20060417 released (SPARC V9 and Fortran90 Module are available)
- 2005/05/10 :
TNT and JAMA are now working with exflib
(patche is needed).
TNT, JAMA contain useful linear algebra routines,
and are promising.
- 2005/05/05 : New top page
- 2005/03/01 : 20050301 released
Known Bugs
- Some Fortran compilers do not support DBLE() and CMPLX().
Supported:
- Sun Studio 12
- gfortran (4.4.1)
- g95 (Feb 27 2008, Jun 24 2009)
- Intel Fortran (11.0 20081105, 10.1 20080602)
- pgf95 6.2-5
Not Supported
- PGI Fortran compiler does not support linking static libraries.
(with '.a' suffix)
- Some version of g95/cygwin does not compile a sample program sample-f90/gauss.f90.
Bugs, requests, and so on.
E-mail address : fujiwara *at mark* acs.i.kyoto-u.ac.jp
Replace *at mark* by @.
TODO
- Parallel LU decomposition
- Bessel Functions
- Interval Arithmetic
- Dynamical management of computation precision
- Implementation on POWER, Itanium2
- Mathematical functions (Gamma, sind, atan2, ldexp, etc.)
System Requirements
Processor | OS | Compiler (Examples) | Mode |
Athlon64, Opteron Core, Xeon EM64T |
Solaris 10 Linux (x86_64) MacOS X |
 
GCC 2.95, 2.96, 3.*, 4.*, gfortran, g95 Sun Studio 10,11,12 Intel Compiler 9,10,11 PGI Compiler 5--9 | 64-bit |
Core, Pentium3, Pentium4, Pentium M, Xeon |
Windows |
Cygwin (g++, gfortran, g95) MinGW (g++, g95) Visual C++.net 2003
Visual C++ Toolkit 2003
Visual C++ 2005 Express Edition
Visual C++ 2008 Express Edition
Borland C++
g95-MinGW.exe
| 32-bit |
- UltraSPARC III, SPARC64V, FreeBSD are also available.
Download
Intel/AMD architecture:
For MinGW-g95 Users
Execute g95-compile.bat in the directory "sample-f90".
Windows 64-bit DLL Comming Soon!
MATLAB (64-bit Windows, MacOSX, Linux)
Octave-4.4.0 (64bit)
Linux
MacOSX 10.13.6
Windows 8.1
Source exflib-src-20060801.tar.bz2
Documents
All contents Copyright (C) 1999-- FUJIWARA,Hiroshi.
All rights reserved.
Permission to use, copy and modify this software and its documentation
for academic or noncommercial purpose
and without fee is hereby granted,
provided that the above copyright notice appear in all copies,
that both the copyright notice and this permission notice appear
in supporting documentation,
and that the name of copyright holder not be used in advertising or
publicity pertaining to distribution of the software without specific,
written prior permission.
Copyright holder makes no representations about the suitability of
this software for any purpose. It is provided "as is"
without express or implied warranty.
THE COPYRIGHT HOLDERS AND RELATED ENTITIES
DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
IN NO EVENT SHALL COPYRIGHT HOLDERS AND RELATED ENTITIES
BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
|
|