diff -r -c3 LiDIA-1.3.orig/Readme LiDIA-1.3/Readme *** LiDIA-1.3.orig/Readme Wed Feb 5 21:51:10 1997 --- LiDIA-1.3/Readme Sun Jan 25 00:44:29 1998 *************** *** 157,164 **** o mpqs: large prime variant for quadratic sieve in the class rational_factorization. ! o You can now choose gmp as the integer arithmetic of the kernel. ! This LiDIA - release contains gmp version 2.0.2. --- 157,164 ---- o mpqs: large prime variant for quadratic sieve in the class rational_factorization. ! o You can now choose gmp or cln as the integer arithmetic of the kernel. ! This LiDIA release contains gmp version 2.0.2 and cln version 1997-09-06. diff -r -c3 LiDIA-1.3.orig/config/CONFIG.in LiDIA-1.3/config/CONFIG.in *** LiDIA-1.3.orig/config/CONFIG.in Wed Feb 5 12:02:16 1997 --- LiDIA-1.3/config/CONFIG.in Sat Jan 24 18:42:57 1998 *************** *** 42,48 **** # # The Kernel And The Interface To Be compiled # ! # Possible Integer Interfaces Are: libI, lip, gmp # # Possible Memory Managers Are: malloc, dentzer, boehm, # default (no manager) --- 42,48 ---- # # The Kernel And The Interface To Be compiled # ! # Possible Integer Interfaces Are: libI, lip, gmp, cln # # Possible Memory Managers Are: malloc, dentzer, boehm, # default (no manager) *************** *** 149,155 **** LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib # ! # OS/2 Compatability Section # CXX-off = --- 149,155 ---- LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib # ! # OS/2 Compatibility Section # CXX-off = *************** *** 166,171 **** --- 166,172 ---- # Make Command Macros # # AR -- the archiver command + # ARX -- the archiver extract command # RM -- command used to remove files # RMR -- command used to remove directories # CP -- command used to copy files *************** *** 178,183 **** --- 179,185 ---- # AR = @AR@ + ARX = ar x RM = @RM@ RMR = @RMR@ CP = @CP@ diff -r -c3 LiDIA-1.3.orig/config/CONFIG.os2 LiDIA-1.3/config/CONFIG.os2 *** LiDIA-1.3.orig/config/CONFIG.os2 Tue Jan 21 14:55:44 1997 --- LiDIA-1.3/config/CONFIG.os2 Sat Jan 24 18:43:28 1998 *************** *** 137,142 **** --- 137,143 ---- # Make Command Macros # # AR -- the archiver command + # ARX -- the archiver extract command # RM -- command used to remove files # RMR -- command used to remove directories # CP -- command used to copy files *************** *** 147,152 **** --- 148,154 ---- # TOUCH -- command used to create an empry file # AR = ar ru + ARX = ar x RM = del /N RMR = del /N CP = xcopy diff -r -c3 LiDIA-1.3.orig/config/bin/integer-sh LiDIA-1.3/config/bin/integer-sh *** LiDIA-1.3.orig/config/bin/integer-sh Tue Oct 22 22:25:57 1996 --- LiDIA-1.3/config/bin/integer-sh Sun Jan 25 00:47:13 1998 *************** *** 7,15 **** echo " " echo "You will now be asked for the integer arithmetic that " ! echo "will be used in the kernel of LiDIA (gmp, libI, lip)." echo " " echo "gmp - written by Torbjorn Granlund" echo "libI - written by Ralf Dentzer" echo "lip - written by Arjen Lenstra" echo " " --- 7,16 ---- echo " " echo "You will now be asked for the integer arithmetic that " ! echo "will be used in the kernel of LiDIA (gmp, cln, libI, lip)." echo " " echo "gmp - written by Torbjorn Granlund" + echo "cln - written by Bruno Haible (based on gmp)" echo "libI - written by Ralf Dentzer" echo "lip - written by Arjen Lenstra" echo " " *************** *** 23,35 **** do echo -n "integer arithmetic ? [$INTEGERS] : " read ANSWER ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then INTEGERS=$ANSWER SUCCESS=y elif test "$ANSWER" = "" ; then SUCCESS=y else ! echo "Please choose gmp, libI, or lip." INTEGERS="libI" fi done --- 24,36 ---- do echo -n "integer arithmetic ? [$INTEGERS] : " read ANSWER ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "cln" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then INTEGERS=$ANSWER SUCCESS=y elif test "$ANSWER" = "" ; then SUCCESS=y else ! echo "Please choose gmp, cln, libI, or lip." INTEGERS="libI" fi done diff -r -c3 LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig LiDIA-1.3/doc/manual/FIG/lidia_model.fig *** LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig Tue Feb 27 11:57:01 1996 --- LiDIA-1.3/doc/manual/FIG/lidia_model.fig Sun Jan 25 00:48:58 1998 *************** *** 55,61 **** 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001 ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, mm)\001 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001 --- 55,61 ---- 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001 ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, cln, mm)\001 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001 diff -r -c3 LiDIA-1.3.orig/doc/manual/bibliography.tex LiDIA-1.3/doc/manual/bibliography.tex *** LiDIA-1.3.orig/doc/manual/bibliography.tex Fri Jan 24 13:22:31 1997 --- LiDIA-1.3/doc/manual/bibliography.tex Sun Jan 25 00:55:48 1998 *************** *** 151,156 **** --- 151,159 ---- \IT{A rigorous subexponential algorithm for computation of class groups}, Tech. report, IBM Research Report, San Jose, CA, 1989. + \bibitem{haible} B. Haible: + \IT{CLN, a Class Library for Numbers}, 1997. + \bibitem{HLConF} G.H. Hardy and J.E. Littlewood: \IT{\em Partitio numerorum {III}: On the expression of a number as a sum of primes}, Acta Math. {\bf 44} (1923), 1--70. diff -r -c3 LiDIA-1.3.orig/doc/manual/installing.tex LiDIA-1.3/doc/manual/installing.tex *** LiDIA-1.3.orig/doc/manual/installing.tex Wed Feb 5 17:33:40 1997 --- LiDIA-1.3/doc/manual/installing.tex Sun Jan 25 00:58:30 1998 *************** *** 309,316 **** of the kernel. \item BIGINT\\ This is used to decide which integer arithmetic is to be compiled with ! {\LiDIA}. At the moment we support three possibilities: \TT{gmp}, \TT{libI}, ! and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++ compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen \TT{libI} during the configuration process and TARGET has been set to c by configure. In this case, no \TT{libI} assembler code is --- 309,316 ---- of the kernel. \item BIGINT\\ This is used to decide which integer arithmetic is to be compiled with ! {\LiDIA}. At the moment we support four possibilities: \TT{gmp}, \TT{cln}, ! TT{libI}, and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++ compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen \TT{libI} during the configuration process and TARGET has been set to c by configure. In this case, no \TT{libI} assembler code is diff -r -c3 LiDIA-1.3.orig/doc/manual/overview.tex LiDIA-1.3/doc/manual/overview.tex *** LiDIA-1.3.orig/doc/manual/overview.tex Wed Jan 29 19:32:32 1997 --- LiDIA-1.3/doc/manual/overview.tex Sun Jan 25 00:57:36 1998 *************** *** 19,24 **** --- 19,25 ---- \newcommand{\libi}{{\bf libI}} \newcommand{\gmp}{{\bf GNU gmp}} \newcommand{\lip}{{\bf lip}} + \newcommand{\cln}{{\bf cln}} \newcommand{\bigint}{{\bf bigint}} *************** *** 70,76 **** It is a serious problem to decide which multiprecision integer package and which memory manager should be used in \LiDIA. There are competing multiprecision integer packages, for example the ! \gmp\ package \cite{gnump}, the \libi\ package \cite{dentzer} and the \lip\ package \cite{lenstra}. Some of those packages are more efficient on one architecture and some on others. Also, new architectures lead very fast to new multiprecision packages. We decided --- 71,78 ---- It is a serious problem to decide which multiprecision integer package and which memory manager should be used in \LiDIA. There are competing multiprecision integer packages, for example the ! \gmp\ package \cite{gnump}, the \cln\ package \cite{haible}, ! the \libi\ package \cite{dentzer} and the \lip\ package \cite{lenstra}. Some of those packages are more efficient on one architecture and some on others. Also, new architectures lead very fast to new multiprecision packages. We decided *************** *** 112,120 **** whole functionality of the interface can be used in the kernel. Currently, we support the multiprecision integer packages \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra} ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}) and GNU's \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous ! ftp via \TT{prep.ai.mit.edu}). The second \LiDIA\ level is the \BF{interface} through which {\CPP} applications on higher levels have access to the kernel. By that --- 114,123 ---- whole functionality of the interface can be used in the kernel. Currently, we support the multiprecision integer packages \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra} ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}), GNU's \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous ! ftp via \TT{prep.ai.mit.edu}), and CLN (available by anonymous ftp from ! \TT{ma2s2.mathematik.uni-karlsruhe.de:/pub/gnu}). The second \LiDIA\ level is the \BF{interface} through which {\CPP} applications on higher levels have access to the kernel. By that diff -r -c3 LiDIA-1.3.orig/include/LiDIA/bigint.h LiDIA-1.3/include/LiDIA/bigint.h *** LiDIA-1.3.orig/include/LiDIA/bigint.h Tue Oct 29 17:47:17 1996 --- LiDIA-1.3/include/LiDIA/bigint.h Sat Jan 24 20:29:16 1998 *************** *** 51,56 **** --- 51,57 ---- bigint(long l); bigint(unsigned long ul); bigint(const bigint & a); + bigint(const integer_type_name & II) : I (II) {} // cln needs this ~bigint(); /** Only in LiDIA-1.3/src/interfaces/integers: cln diff -r -c3 LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c LiDIA-1.3/src/interfaces/integers/gmp/bigint.c *** LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c Fri Jan 10 18:19:00 1997 --- LiDIA-1.3/src/interfaces/integers/gmp/bigint.c Sat Jan 24 17:41:29 1998 *************** *** 610,616 **** void invert(bigint & a, const bigint & b) { ! if ((a.I._mp_size == 1 || a.I._mp_size == -1) && a.I._mp_d[0] == 1) mpz_set(&a.I, &b.I); else lidia_error_handler("bigint", "invert::inverting of a non-unit."); --- 610,616 ---- void invert(bigint & a, const bigint & b) { ! if ((b.I._mp_size == 1 || b.I._mp_size == -1) && b.I._mp_d[0] == 1) mpz_set(&a.I, &b.I); else lidia_error_handler("bigint", "invert::inverting of a non-unit."); Only in LiDIA-1.3/src/kernel/integers: cln diff -r -c3 LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c LiDIA-1.3/src/simple_classes/factorization/mpqs.c *** LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c Tue Jan 28 14:00:36 1997 --- LiDIA-1.3/src/simple_classes/factorization/mpqs.c Sat Jan 24 17:45:17 1998 *************** *** 17,23 **** //extern "C" int system(char*); #endif ! #if !defined(__GNUG__) #include #else #define SIGHUP 1 /* hangup */ --- 17,23 ---- //extern "C" int system(char*); #endif ! #if defined(__linux__) || !defined(__GNUG__) #include #else #define SIGHUP 1 /* hangup */