[comp.lang.fortran] FORTRAN-SC, FORTRAN 8x, AUGMENT I or AUGMENT II

edwin@maui.cs.ucla.edu (08/31/88)

I need a FORTRAN compiler or preprocessor that can implement non-standard
arithmetic (i.e. INTERVAL arithmetic) for error analysis.  Can anyone tell
me how to obtain FORTRAN-SC, FORTRAN 8x, AUGMENT I & II or any other compiler
or pre-compiler that will do the job?  Bob Tisdale  (213) 825-6010.

williamo@hpcupt1.HP.COM (William O'Saughnessy) (08/31/88)

The method that I have used to implement Interval arithmetic is to 
declare the interval variables as complex and then provide my own
library at link time that replaces the compiler complex arithmetic
routines with interval arithmetic routines.  This trick will work
almost any compiler that does not generate inline code for complex
arithmetic.               Good Luck.
			  Bill O'Shaughnessy

bruces@marque.mu.edu (Bruce Stephens) (09/02/88)

I love the idea of using COMPLEX to do interval arithmetic. I suspect it
would involve a fair amount of fiddling though.

I'm involved in a project on differentiation arithmetic, which involves
storing not just two numbers (the ends of an interval), but any number
(corresponding to partial derivatives of various orders).  Hence COMPLEX
numbers are not sufficiently big - and I need to do genuine operator
overloading.

FORTRAN-SC is an IBM product - the Fortran equivalent of PASCAL-SC.  It
allows data structures, operator overloading, dynamic memory allocation,
and all that sort of stuff.  Unfortunately it only works on IBM machines
and if you're interested get in contact with them.  (They also have
ACRITH, which does interval computations very accurately.)

AUGMENT seems to be largely dead.  There were a lot of papers published
on it, but virtually all came from the place where it was made (the
MRC).  On top of that, it was written some time before Fortran-77.
Porting it has caused several people a great deal of wasted effort - it
seems to be very difficult (in spite of the descriptions).  I don't know
about AUGMENT II, maybe this is an updated version.

If you don't mind changing languages, then use one that allows operator
overloading, (ADA, C++, Fortran-SC, ALGOL-68, ...).  If you have to use
Fortran, then maybe you ought to wait until the preprocessor that four
of us designed over August is written.  It was designed to satisfy the
needs of people wanting to do interval arithmetic (and interval Taylor
series arithmetic) as well as my application of partial derivatives.
The design specifications will be published as a University of Bristol
mathematics departement internal report, I'm not sure exactly when.  I
can be reached until 8 Sept here at Marquette, and subsequently at
Bristol University, email address below.

Bruce.
----------------------------------------------------------------
Bruce Stephens.  (University of Bristol)
UUCP: ...!marque.mu.edu!bruces
JANET: StephensBru@uk.ac.bristol.msa
(Please use UKACRL from the US, UKC costs money!)