File: README

package info (click to toggle)
cln 0.98-7.1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 12,188 kB
  • ctags: 15,282
  • sloc: cpp: 71,545; ansic: 12,015; asm: 8,431; sh: 3,159; makefile: 886; lisp: 64
file content (57 lines) | stat: -rw-r--r-- 1,954 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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 Schnhage-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.