From: keith@msmri.med.ubc.ca (Keith S Cover)
Newsgroups: comp.lang.c++,sci.math.num-analysis
Subject: SUMMARY: Multiple precision software
Date: 10 Nov 92 17:49:12 GMT
Distribution: inet
Organization: University of British Columbia, Vancouver, B.C., Canada
NNTP-Posting-Host: msmri.med.ubc.ca

Here are the replies I received to my requested for multiple precision 
software.  The software not written in C++ could be provided with a 
C++ wrapper.  

Keith S Cover
Physics, UBC
Vancouver, B.C.
Canada

============================================================================

From khattra@cs.sfu.ca Fri Oct 30 11:40:25 1992
Organization: CSS, Simon Fraser University, Burnaby, B.C., Canada

It's not a class library, but you may want to snarf
the multi-precision code from GNU bc.

--
Taj Khattra

=============================================================================

From kbriggs@mundoe.maths.mu.oz.au Mon Nov  2 15:08:47 1992

Brent's MP has been the standard for at least 15 years.   It is on netlib,
I think under `bmp'.   It was documented in TOMS, I think around volume 3 or
4.  I can get the exact refs if you need them.
Keith.

=============================================================================

From plyon@emx.cc.utexas.edu Mon Nov  2 21:18:24 1992

There is an article by Jerry Schwartz entitled "Implementing infinite
precision arithmetic" in the _9th Symposium on Computer Arithmetic_
(Santa Monica, CA) (Sorry, I do not know the publisher), in which he
alludes to a C++ implementation, but I do not know where one might
come by this.

There is a C library of extended precision floating point functions
called CEPHES available for anon ftp from usc.edu in the
directory pub/C-numanal. You might wish to have a look at that; it could
be that it could be converted to a C++ class library without much
difficulty.

You also might find the article "Optimizing Programmes over the
Constructive Reals" useful (by Vernon Lee and Hans Boehm, ACM SIGPLAN
'90  Conference on Programming Language Design and Implementation).

It might also be useful to collect the "free-c" (at least I think
that's what it's  called) document by Ajah Shah from Netlib 
(research.att.com).

Hope this helps...


Paul Lyon

============================================================================

From tjm@netcom.com Mon Nov  2 22:24:24 1992
From: "Thomas J. Merritt" <tjm@netcom.com>

I have a class "Float" that provides a software implementation of
floating point with arbitrary precision.  It currently suports +, -, *,
/, sqrt, exp, log, pow, [a]sin[h], [a]cos[h], [a]tan[h], and convertions
to and from strings and doubles.  It conforms to IEEE-754/854.  The
implementation is relatively fast and accurate.

If you would like more detail or would like to be a beta site for this 
software drop me a note.

% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Thomas J. Merritt    %      Code Generation      %    PO Box 192746
tjm@netcom.com       %          |Technology      %    San Francisco, CA  94119
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %

=============================================================================

From 48GANELIN@cua.edu Thu Nov  5 17:10:38 1992
Date: 05 Nov 1992 20:12:12 -0500 (EST)
From: Pavel Ganelin <48GANELIN@cua.edu>

GNU C++ compiler has multiprecision Integer, Rational and 
RealFixedLenght arithmnetic.

 prep.ai.mit.edu ~/pub/gnu/gcc-2.2.2.tar.Z
 prep.ai.mit.edu ~/pub/gnu/gcc-lib++-2.2.tar.Z


It is very easy to use in program. Integeran represenation is hidden
and you can use big numbers in expression the same way as usual ones.
The only problem I had it do very strange things on DJ GPP port for PC386,
when you try to covert back from Rational to double or long.

=============================================================================

From: dbailey@wk49.nas.nasa.gov (David H. Bailey)
Organization: NAS, NASA Ames Research Center, Moffett Field, CA
Date: Fri, 6 Nov 92 01:12:07 GMT

Some of you may be aware of a multiprecision computation package and a
multiprecision Fortran translator that I have developed during the
past year or two.  I am now pleased to announce that this software has
been approved by NASA Ames for unlimited international distribution,
at no cost.  A brief description of this software is as follows:

The first package contains approximately 85 Fortran subroutines that
perform a variety of arithmetic operations and transcendental
functions.  The basic arithmetic routines are very efficient, and for
extra high levels of precision (about about 1000 digits), some
additional routines are available that employ advanced algorithms,
such FFT-based multiplication and the Borwein transcendental
algorithms, for additional speedup.  On some problems these routines
are over 200 times faster than certain other multiprecision tools.

However, as with other such packages, manually converting a program to
use these routines is a tedious and error-prone process.  To
facilitate such conversions, I have now developed a multiprecision
translator for Fortran programs.  By means of source directives
(special comments) placed in a standard Fortran-77 program, the user
declares the precision level and specifies which variables in each
subprogram are to be treated as multiprecision.  The translator
program reads this source program and outputs a program with the
appropriate multiprecision subroutine calls, which can then be linked
with the multiprecision package and executed.

This translator program supports multiprecision integer, real and
complex datatypes.  The required array space for multiprecision data
types is automatically allocated.  In the evaluation of computational
expressions, all of the usual conventions for operator precedence and
mixed mode operations are upheld.  Furthermore, most of the Fortran-77
intrinsics, such as ABS, MOD, NINT, COS, EXP are supported and produce
true multiprecision values.

Both the multiprecision package and translator are written in highly
portable Fortran-77 and have been successfully implemented on a
variety of systems, ranging from parallel supercomputers to
workstations.

If anyone is interested in obtaining this software, plus the
accompanying documentation, send me a note, and I will respond by
e-mail.  I eventually intend to place this software on public media
such as netlib, but for the time being I am handling it myself, so
that any bug fixes or enhancements can be promptly distributed.  Since
it is a small but significant amount of trouble for me to respond,
please don't request unless you are somewhat serious about needing
this software.

David H. Bailey 
NASA Ames Research Center 
dbailey@nas.nasa.gov

=============================================================================

From: moshier@world.std.com (Stephen L Moshier)
Organization: The World Public Access UNIX, Brookline, MA

  There are at least three such packages in netlib (research.att.com).
Two Fortran programs are in netlib/toms, and there is a C suite
in netlib/cephes.