These files were downloaded from
http://crd.lbl.gov/~dhbailey/mpdist/
as a result of a google search for “quadruple precision”
Real values are used for the
base. In this document he says that it
is necessary that real*4 values are accurate to 2**24. The code in test.zip
demonstrates that Watfor is not accurate to this level while Watcom wfl386
test.for is accurate to this level.
I recommend Bailey’s algorithms
ahead of my own in ..\Bob
for any application other than the applications tested in Fittery\nlfit.
They are easy to implement and have been well tested. A test of MPCholesky is described in MatrixInverse\mpcholesky\Welcome.htm. Note that this test includes both Cholesky
matrix inversion and Gauss Jordan Inversion.
The particular set of interest for Fortran 77 is mpfun77.tar.gz. Inside this there are directions for using the code transmp.f to convert parts of code from real*8 to much larger precision. This code was designed to run in batch mode where one submits the code to be translated on unit 5 and it returns the result as output. This code makes creation of a multiprecision part of a user code very easy. I added the following lines just above the first read(5 to make it more compatible with use on a PC.
CHARACTER*64
FNAME
PRINT*,'
ENTER THE FILE NAME TO CONVERT '
READ(*,'(A)')FNAME
OPEN(5,FILE=FNAME)
OUTNAME='MP'//FNAME
OPEN(6,FILE=OUTNAME)
Wfl386 transmp.f
transmp.f: 7412 statements, 134164 bytes, 3
extensions, 66 warnings, 0 errors
Open Watcom Linker Version 1.3
Portions Copyright (c) 1985-2002 Sybase, Inc. All
Rights Reserved.
Source code is available under the Sybase Open
Watcom Public License.
See http://www.openwatcom.org/ for details.
loading object files
searching libraries
creating a Windows NT character-mode executable
The testing of the code, as slightly modified for PC use, is in ..\..\optimization\solving\mpcholesky\Welcome.htm
The use of Bailey’s code with nlfit to fit the error function conjugate to a particular form in ..\..\Fittery\nlfit\aigau\fitting\Welcome.htm. This links to a zip file with transmp.exe, nlfit, robmin and a few other files needed to make the fit. Transmp as described above was used to make a 128 digit accurate version of robmin and nlfit. These in turn enabled a very precise fit.
The current ..\..\Fittery\nlfit\Welcome.doc htm uses ..\Bob\Welcome.doc htm in order to optimally mix double precision and multiple precision, but is not necessarily better than that produced quite simply by transmp.
Volume in drive E has no label.
Volume Serial Number is 2431-E154
Directory of
E:\public_html\class2K\optimization\mpcholesky\Quadruple
03/09/2006 08:07 PM 168,647 transmp.zip
ß contains transmp.f, mpfun.for and transmp.exe
c*****************************************************************************
c MPFUN: A MULTIPLE PRECISION FLOATING POINT COMPUTATION PACKAGE
c IEEE Fortran-77 version
c Version Date: 2001-08-02
c Author:
c David H. Bailey
c NERSC,
c Mail Stop 50B-2239
c
c Email: dhbailey@lbl.gov
c Restrictions:
c This software was written while the author was an employee of NASA.
c This software has been approved by NASA for unrestricted distribution.
c However, usage of this software is subject to the following:
c 1. This software is offered without warranty of any kind, either expressed
c or implied. The author would appreciate, however, any reports of bugs
c or other difficulties that may be encountered.
c 2. If modifications or enhancements to this software are made to this
c software by others, NASA Ames reserves the right to obtain this enhanced
c software at no cost and with no restrictions on its usage.
c 3. The author and NASA Ames are to be acknowledged in any published paper
c based on computations using this software. Accounts of practical
c applications or other benefits resulting from this software are of
c particular interest. Please send a copy of such papers to the author.
From ..\..\optimization\solving\mpcholesky\Quadruple\mpfun77.pdf