exflib - extend precision floating-point arithmetic library


 
Exflib Top
 
System Requirements
Download
Documents
 
Benchmark
Benchmark (Parallel Computing) (Japanese)
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



News

  • 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
    • gfortran (4.1.2, 4.2.2)
    • pgf95 9.0-1
  • 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

ProcessorOSCompiler (Examples)Mode

Athlon64, Opteron
Core, Xeon EM64T
 
Solaris 10
Linux (x86_64)
FreeBSD (amd64)
MacOS X v10.5(Leopard)
 
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

Linux
Solaris 9, 10
 
GCC 2.95, 2.96, 3.*, g95
SunStudio 9
Intel Compiler 10,11
PGI Compiler 5,6
32-bit
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
 
UltraSPARC III
SPARC64V (HPC2500)
Solaris 8, 9, 10 GCC 3, SunStudio 9,10,11
Fujitsu Compiler
64-bit

Download


Intel/AMD architecture:


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.