You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Richard Kreckel
65251c5d82
|
25 years ago | |
---|---|---|
.. | ||
src | 25 years ago | |
LiDIA-patch1 | 25 years ago | |
LiDIA-patch2 | 25 years ago | |
README | 25 years ago | |
TAR-FILE-LIST | 25 years ago | |
bigint.o.i386-linux | 25 years ago | |
bigint.o.needs | 25 years ago | |
bigint.o.undef | 25 years ago |
README
This directory contains an interface to the LiDIA library, version 1.3.1.
It is already contained in LiDIA-1.3.1 and LiDIA-1.4a1, and is reproduced
here only as a sample for the use of CLN.
LiDIA is available from
ftp://ftp.informatik.th-darmstadt.de/pub/TI/systems/LiDIA
(The LiDIA group has also a nice Web page.)
LiDIA has an abstract interface to the underlying long integer implementation.
Using CLN instead of the default libI, lip or gmp has the following
advantages:
- Maximum speed on all CPUs, since CLN is based on the highly
optimized gmp-2.0.2.
- Very large integers profit from CLN's Schönhage-Strassen FFT multiplication
(asymptotic bit complexity: O(N log N log log N)).
- Copying integers is fast: no copying is actually involved, only a
reference count is manipulated.
- Small integers (absolute value < 2^29) are represented immediately,
thus no memory allocation/deallocation is involved when dealing with
small integers.
CLN does all this automatically.
INSTALLATION
------------
1. Build CLN.
2. Apply the first patch to LiDIA:
$ cd .../LiDIA
$ patch -p1 < .../cln/lidia-interface/LiDIA-patch1
3. Configure LiDIA as described in its manual.
4. Apply the second patch to LiDIA:
$ cd .../LiDIA
$ patch -p1 < .../cln/lidia-interface/LiDIA-patch2
You may have to do this by hand, if the patch fails.
5. Make two symbolic links
$ ln -s .../cln/lidia-interface/interfaces/integers/cln \
.../LiDIA/src/interfaces/integers/cln
$ ln -s .../cln/BUILDDIR/src .../LiDIA/src/kernel/integers/cln
where .../cln/BUILDDIR is the directory in which you have built
cln (i.e. there is a file .../cln/BUILDDIR/src/libcln.a).
6. Modify the definitions of the variables CLN_DIR and CLN_TARGETDIR in
the file .../LiDIA/config/CONFIG :
CLN_DIR must point to .../cln,
CLN_TARGETDIR must point to .../cln/BUILDDIR.
7. Build LiDIA as described in its manual.