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.
 
 
 
 
 

321 lines
12 KiB

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 <signal.h>
#else
#define SIGHUP 1 /* hangup */
--- 17,23 ----
//extern "C" int system(char*);
#endif
! #if defined(__linux__) || !defined(__GNUG__)
#include <signal.h>
#else
#define SIGHUP 1 /* hangup */