1 diff -r -c3 LiDIA-1.3.orig/Readme LiDIA-1.3/Readme
2 *** LiDIA-1.3.orig/Readme Wed Feb 5 21:51:10 1997
3 --- LiDIA-1.3/Readme Sun Jan 25 00:44:29 1998
6 o mpqs: large prime variant for quadratic sieve in the class
7 rational_factorization.
9 ! o You can now choose gmp as the integer arithmetic of the kernel.
10 ! This LiDIA - release contains gmp version 2.0.2.
15 o mpqs: large prime variant for quadratic sieve in the class
16 rational_factorization.
18 ! o You can now choose gmp or cln as the integer arithmetic of the kernel.
19 ! This LiDIA release contains gmp version 2.0.2 and cln version 1997-09-06.
23 diff -r -c3 LiDIA-1.3.orig/config/CONFIG.in LiDIA-1.3/config/CONFIG.in
24 *** LiDIA-1.3.orig/config/CONFIG.in Wed Feb 5 12:02:16 1997
25 --- LiDIA-1.3/config/CONFIG.in Sat Jan 24 18:42:57 1998
29 # The Kernel And The Interface To Be compiled
31 ! # Possible Integer Interfaces Are: libI, lip, gmp
33 # Possible Memory Managers Are: malloc, dentzer, boehm,
34 # default (no manager)
37 # The Kernel And The Interface To Be compiled
39 ! # Possible Integer Interfaces Are: libI, lip, gmp, cln
41 # Possible Memory Managers Are: malloc, dentzer, boehm,
42 # default (no manager)
45 LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib
48 ! # OS/2 Compatability Section
53 LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib
56 ! # OS/2 Compatibility Section
65 # AR -- the archiver command
66 + # ARX -- the archiver extract command
67 # RM -- command used to remove files
68 # RMR -- command used to remove directories
69 # CP -- command used to copy files
80 diff -r -c3 LiDIA-1.3.orig/config/CONFIG.os2 LiDIA-1.3/config/CONFIG.os2
81 *** LiDIA-1.3.orig/config/CONFIG.os2 Tue Jan 21 14:55:44 1997
82 --- LiDIA-1.3/config/CONFIG.os2 Sat Jan 24 18:43:28 1998
88 # AR -- the archiver command
89 + # ARX -- the archiver extract command
90 # RM -- command used to remove files
91 # RMR -- command used to remove directories
92 # CP -- command used to copy files
96 # TOUCH -- command used to create an empry file
103 diff -r -c3 LiDIA-1.3.orig/config/bin/integer-sh LiDIA-1.3/config/bin/integer-sh
104 *** LiDIA-1.3.orig/config/bin/integer-sh Tue Oct 22 22:25:57 1996
105 --- LiDIA-1.3/config/bin/integer-sh Sun Jan 25 00:47:13 1998
110 echo "You will now be asked for the integer arithmetic that "
111 ! echo "will be used in the kernel of LiDIA (gmp, libI, lip)."
113 echo "gmp - written by Torbjorn Granlund"
114 echo "libI - written by Ralf Dentzer"
115 echo "lip - written by Arjen Lenstra"
120 echo "You will now be asked for the integer arithmetic that "
121 ! echo "will be used in the kernel of LiDIA (gmp, cln, libI, lip)."
123 echo "gmp - written by Torbjorn Granlund"
124 + echo "cln - written by Bruno Haible (based on gmp)"
125 echo "libI - written by Ralf Dentzer"
126 echo "lip - written by Arjen Lenstra"
131 echo -n "integer arithmetic ? [$INTEGERS] : "
133 ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then
136 elif test "$ANSWER" = "" ; then
139 ! echo "Please choose gmp, libI, or lip."
145 echo -n "integer arithmetic ? [$INTEGERS] : "
147 ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "cln" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then
150 elif test "$ANSWER" = "" ; then
153 ! echo "Please choose gmp, cln, libI, or lip."
157 diff -r -c3 LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig LiDIA-1.3/doc/manual/FIG/lidia_model.fig
158 *** LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig Tue Feb 27 11:57:01 1996
159 --- LiDIA-1.3/doc/manual/FIG/lidia_model.fig Sun Jan 25 00:48:58 1998
162 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001
163 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001
164 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001
165 ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, mm)\001
166 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001
167 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001
168 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001
170 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001
171 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001
172 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001
173 ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, cln, mm)\001
174 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001
175 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001
176 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001
177 diff -r -c3 LiDIA-1.3.orig/doc/manual/bibliography.tex LiDIA-1.3/doc/manual/bibliography.tex
178 *** LiDIA-1.3.orig/doc/manual/bibliography.tex Fri Jan 24 13:22:31 1997
179 --- LiDIA-1.3/doc/manual/bibliography.tex Sun Jan 25 00:55:48 1998
183 \IT{A rigorous subexponential algorithm for computation of class groups},
184 Tech. report, IBM Research Report, San Jose, CA, 1989.
186 + \bibitem{haible} B. Haible:
187 + \IT{CLN, a Class Library for Numbers}, 1997.
189 \bibitem{HLConF} G.H. Hardy and J.E. Littlewood:
190 \IT{\em Partitio numerorum {III}: On the expression of a number as a sum of
191 primes}, Acta Math. {\bf 44} (1923), 1--70.
192 diff -r -c3 LiDIA-1.3.orig/doc/manual/installing.tex LiDIA-1.3/doc/manual/installing.tex
193 *** LiDIA-1.3.orig/doc/manual/installing.tex Wed Feb 5 17:33:40 1997
194 --- LiDIA-1.3/doc/manual/installing.tex Sun Jan 25 00:58:30 1998
199 This is used to decide which integer arithmetic is to be compiled with
200 ! {\LiDIA}. At the moment we support three possibilities: \TT{gmp}, \TT{libI},
201 ! and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++
202 compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen
203 \TT{libI} during the configuration process and TARGET has been set
204 to c by configure. In this case, no \TT{libI} assembler code is
208 This is used to decide which integer arithmetic is to be compiled with
209 ! {\LiDIA}. At the moment we support four possibilities: \TT{gmp}, \TT{cln},
210 ! TT{libI}, and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++
211 compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen
212 \TT{libI} during the configuration process and TARGET has been set
213 to c by configure. In this case, no \TT{libI} assembler code is
214 diff -r -c3 LiDIA-1.3.orig/doc/manual/overview.tex LiDIA-1.3/doc/manual/overview.tex
215 *** LiDIA-1.3.orig/doc/manual/overview.tex Wed Jan 29 19:32:32 1997
216 --- LiDIA-1.3/doc/manual/overview.tex Sun Jan 25 00:57:36 1998
220 \newcommand{\libi}{{\bf libI}}
221 \newcommand{\gmp}{{\bf GNU gmp}}
222 \newcommand{\lip}{{\bf lip}}
223 + \newcommand{\cln}{{\bf cln}}
224 \newcommand{\bigint}{{\bf bigint}}
229 It is a serious problem to decide which multiprecision integer package
230 and which memory manager should be used in \LiDIA. There are
231 competing multiprecision integer packages, for example the
232 ! \gmp\ package \cite{gnump}, the \libi\ package \cite{dentzer} and
233 the \lip\ package \cite{lenstra}. Some of those packages are more
234 efficient on one architecture and some on others. Also, new
235 architectures lead very fast to new multiprecision packages. We decided
237 It is a serious problem to decide which multiprecision integer package
238 and which memory manager should be used in \LiDIA. There are
239 competing multiprecision integer packages, for example the
240 ! \gmp\ package \cite{gnump}, the \cln\ package \cite{haible},
241 ! the \libi\ package \cite{dentzer} and
242 the \lip\ package \cite{lenstra}. Some of those packages are more
243 efficient on one architecture and some on others. Also, new
244 architectures lead very fast to new multiprecision packages. We decided
247 whole functionality of the interface can be used in the kernel.
248 Currently, we support the multiprecision integer packages
249 \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra}
250 ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}) and GNU's
251 \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous
252 ! ftp via \TT{prep.ai.mit.edu}).
254 The second \LiDIA\ level is the \BF{interface} through which {\CPP}
255 applications on higher levels have access to the kernel. By that
257 whole functionality of the interface can be used in the kernel.
258 Currently, we support the multiprecision integer packages
259 \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra}
260 ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}), GNU's
261 \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous
262 ! ftp via \TT{prep.ai.mit.edu}), and CLN (available by anonymous ftp from
263 ! \TT{ma2s2.mathematik.uni-karlsruhe.de:/pub/gnu}).
265 The second \LiDIA\ level is the \BF{interface} through which {\CPP}
266 applications on higher levels have access to the kernel. By that
267 diff -r -c3 LiDIA-1.3.orig/include/LiDIA/bigint.h LiDIA-1.3/include/LiDIA/bigint.h
268 *** LiDIA-1.3.orig/include/LiDIA/bigint.h Tue Oct 29 17:47:17 1996
269 --- LiDIA-1.3/include/LiDIA/bigint.h Sat Jan 24 20:29:16 1998
274 bigint(unsigned long ul);
275 bigint(const bigint & a);
276 + bigint(const integer_type_name & II) : I (II) {} // cln needs this
280 Only in LiDIA-1.3/src/interfaces/integers: cln
281 diff -r -c3 LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c LiDIA-1.3/src/interfaces/integers/gmp/bigint.c
282 *** LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c Fri Jan 10 18:19:00 1997
283 --- LiDIA-1.3/src/interfaces/integers/gmp/bigint.c Sat Jan 24 17:41:29 1998
287 void invert(bigint & a, const bigint & b)
289 ! if ((a.I._mp_size == 1 || a.I._mp_size == -1) && a.I._mp_d[0] == 1)
292 lidia_error_handler("bigint", "invert::inverting of a non-unit.");
295 void invert(bigint & a, const bigint & b)
297 ! if ((b.I._mp_size == 1 || b.I._mp_size == -1) && b.I._mp_d[0] == 1)
300 lidia_error_handler("bigint", "invert::inverting of a non-unit.");
301 Only in LiDIA-1.3/src/kernel/integers: cln
302 diff -r -c3 LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c LiDIA-1.3/src/simple_classes/factorization/mpqs.c
303 *** LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c Tue Jan 28 14:00:36 1997
304 --- LiDIA-1.3/src/simple_classes/factorization/mpqs.c Sat Jan 24 17:45:17 1998
307 //extern "C" int system(char*);
310 ! #if !defined(__GNUG__)
313 #define SIGHUP 1 /* hangup */
315 //extern "C" int system(char*);
318 ! #if defined(__linux__) || !defined(__GNUG__)
321 #define SIGHUP 1 /* hangup */