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
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 */
|