[![Build Status](https://travis-ci.org/gap-packages/float.svg?branch=master)](https://travis-ci.org/gap-packages/float)
[![Code Coverage](https://codecov.io/github/gap-packages/float/coverage.svg?branch=master&token=)](https://codecov.io/gh/gap-packages/float)

                             The Float package

This is the README file for the GAP package "Float"

This package implements floating-point numbers, with arbitrary precision,
based on the C libraries MPFR, MPFI, MPC and CXSC.

The package is distributed in source form, and does not require anything
else than a running GAP 4.7 or later. For updates, check

     https://github.com/gap-packages/float/
  
To use the package, your must first compile it; this is done by invoking
`./configure' and then `make' in the main directory (where this file is).
`./configure' may be invoked with arguments `--with-gaproot', `--with-gaparch'
and `CONFIGNAME' to specify the location and variant of GAP installed.
By default, the configuration script searches ../.. and /usr/local/src/gap.

This package requires external libraries, at least one of mpfr, mpfi, mpc or
cxsc. If they are already on your system, you may enable them with the
switches `--with-mpfr=xxx', `--with-mpfi=xxx', `--with-mpc=xxx' and
`--with-cxsc=xxx', specifying at which prefix they are installed (if xxx is
absent, the default prefixes will be searched). If you do not wish to
install them, you may disable their inclusion using `--without-cxsc' etc.
If the package cannot find them, they will be downloaded and compiled in
the subdirectory `extern'. You may also force this behaviour (e.g. if your
system has outdated versions of the libraries) by passing `extern' to the
switches `--with-mpfr' etc.

They will be downloaded from the following locations:
- http://www.mpfr.org/mpfr-current/mpfr-3.1.1.tar.bz2
- https://gforge.inria.fr/frs/download.php/30129/mpfi-1.5.1.tar.bz2
- http://www.multiprecision.org/mpc/download/mpc-1.0.1.tar.gz
- http://www2.math.uni-wuppertal.de/~xsc/xsc/cxsc/cxsc-2-5-3.tar.gz
- http://xpujol.net/fplll/libfplll-4.0.1.tar.gz

Once the package has been compiled, it may be used within GAP by typing

LoadPackage("Float");

The "Float" package banner should appear on the screen.
New floating-point handlers may be then set by typing

SetFloats(MPFR,1000);

to have 1000-bits floating-point numbers. For details on how to use the Float
package, please consult the documentation. It is in the `doc' subdirectory,
see `manual.pdf'.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or any
later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program, in the file COPYING.  If not, see
<http://www.gnu.org/licenses/>.

  Laurent Bartholdi, Göttingen, 6 January 2014
