/* What goes on the main page of SCSLib as generated by doxygen. */

/**@mainpage SCSLib, the Software Carry-Save multiple-precision library


   @section intro Introduction

SCSLib is a fast and lightweight multiple-precision library developped
in the Arénaire project at ENS Lyon. It was developed as a building
block for evaluating elementary functions with correct rounding. Its
interesting features are:

- Compile-time selected precision: SCSLib is a fixed-precision
library, where precision is selected at compile-time for
performance. Out-of-the-box, the library ensures 210 bits of precision
(quad-double). It is easily configurable to do any precision between
twice or half that, and with a little bit more work it can in
principle ensure up to a few thousand bits.

- Floating-point format: The SCS format is a floating-point format
where exponents are machine integers (usually 32-bit numbers), which
ensures a huge exponent range.  

- Supported operations: SCSLib currently offers addition/subtraction,
multiplication, and an experimental division, plus all the useful 
conversion functions.  

- IEEE-754 compatibility: The range of SCS numbers include the range
of IEEE double-precision numbers, including denormals and exceptional
cases. Conversions between SCS format and IEEE-754 doubles, as well as
arithmetic operations, follow the IEEE rules concerning the
exceptional cases. SCS doesn't ensure correct rounding, but provides
conversions to doubles in the four IEEE-754 rounding modes.

- Performance: SCSLib is designed to be fast. With 210 bits, it
  outperforms MPF for most operations on most architectures.

- Licence: This library is distributed under the LGPL. See inside the
  archive for details.


SCSLib is still under development and hasn't been tested on all
possible combinations of architecture and environment. If you think
you have found a bug, please investigate and report it.

All you need to build SCSLib is a C compiler compliant with the ANSI
C99 standard. So far we have successfully tested the following compilers:
- gcc-2.95x 
- gcc-3.0x 
 



  @section install Installation

Standard installation should only require
- ./configure 
- make

Compile-time options may be passed to configure 
- to change the precision (default is 200 bits)
- to link with the GNU multiple-precision package MPFR 
   (for testing and debugging purpose)

See the INSTALL file and configure --help for details




  @section using Linking with the SCS library  

To use SCSLib you need to include the header file
 scs.h. See the documentation of this file for details. Then you need
to link with libscs.a.

For C++ users we provide a wrapper class wrapper_scs.h that
overloads the basic arithmetic operators with SCS operations. It
hasn't been tested extensively.
   


   @section bugs Reporting bugs

Please report bugs at the following address: scslib@ens-lyon.fr


   @section copyleft Copyright and license

Copyright (C) 2002  Catherine Daramy, David Defour and Florent de Dinechin

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library 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
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
