                              README-FILE for the REALRAM, 
                  a software package for exact real arithmetic in C++
                                 version 2000-08-17.

###############################################################################

This version is released and maintained (as far as my time allows)
by Norbert Mueller (mueller@uni-trier.de).

Short descriptions of the package can be found in
   doc/trrram.ps
         (presented at the 
          Second Workshop on Computability and Complexity in Analysis,
          1996, Trier/Germany)

and 

   doc/irram.ps
          (to be presented at the
           Workshop on Computability and Complexity in Analysis,
           2000, Swansea/UK)


Additionally you might have a look at 

http://www.informatik.uni-trier.de/~mueller/Forschung/

for new versions and enhanced documentation ;-)

#############################################################################

COMPILATON

- untar the package in some directory "$BASEDIR":

  cd $BASEDIR; tar xzvf realram-2000-08-17.taz   

- Compilation should be possible with a recent g++ / gcc on Linux but:

- First you have to choose one of the three possible backends (named 
  after the underlying MP packages):

  1.  LR     (most tested)
  2.  LRGMP  (nearly as tested as LR, but significantly faster)
  3.  GMP    (not too well tested, but should be ok)
  4.  MPFR   (very buggy not usable)

- In order to use LRGMP or GMP, you need to have GMP version 3.1 or later,
  the compilation assumes that there are two files from GMP in $BASEDIR/GMP:
  gmp.h and the static version of the library: libgmp.a.

- In order to use MPFR, you need to have GMP version 3.1 or later,
  the compilation assumes that there are three files from GMP in $BASEDIR/GMP:
  gmp.h, mpfr.h and the static version of the GMP library with 
  MPFR enabled, in  libmpfr.a.

- If you don not have GMP, you can only try the backend LR...

- then: go to the directory "$BASEDIR/realram" and compile with one of the
  three following commands:

  1.  make LR
  2.  make LRGMP
  3.  make GMP

- Voila: all is compiled, and you can look at the examples in ./examples

- The easiest way to compile an own program "my_first_test.cc":
  Put the program into the directory  "$BASEDIR/realram/examples",
  then: make my_first_test



In ./examples, you find a lot of examples:

  etest:      compute a number of decimals of e=2.718281... 
  pi_example: explained in the introduction is doc/irram.ps
  matrix:     a few simple applications of matrix arithmetic 
  hilbert:    Inversion of the badly conditioned hilbert matrix
  itsyst:     compute the iteration x=3.75 (1-x)x for 
  swanseatest,swanseatest-2: a few tests for a competition at the
              CCA2000 workshop in swansea
   



You should call these examples once in the form 
  
   program 

to hide the iterations and once simply as 

   program -d

to see the iterations.


COPYRIGHT: Although I intend to put the package under the GPL or the LGPL,
 I'd like to be stricter at the moment:

- You may use this package for non-comercial purposes only.
- You may redistribute the sources, but without any modifications.
- You are not allowed to distribute modified versions.
- You may not redistribute binary versions.
- You may not use parts of the sources in other programs without my consent.

