This page presents the Software Carry-Save (SCS) Library, a fast and lightweight multiple-precision library developed in the Arénaire. project at ENS Lyon.
Click here to download SCSLib version 1.4.1
To install: ./configure; make . See inside the archive for details.
SCSLib has the following features:
SCSLib is a fixed-precision library, where precision is selected at compile-time. Out-of-the-box, the library ensures 210 bits of precision (quad-double). It is easily configurable to do twice or half, and with a little bit more work it can in principle ensure up to a few thousand bits.
The SCS format is a floating-point format where exponents are machine integers (usually 32-bit numbers), which ensures a huge exponent range.
SCSLib currently offers addition/subtraction, multiplication, and an experimental division, plus all the useful conversion functions.
The range of SCS numbers includes 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.
SCSLib is designed to be fast. With 210 bits, it outperforms MPF for most operations on most architectures.
This library is distributed under the LGPL. See inside the archive for details.
See the online user documentation inside the archives for a list of supported operations.
See the ENS research report RR2002-08 for the principles behind the SCS library.