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

25 years ago
  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
  4. ***************
  5. *** 157,164 ****
  6. o mpqs: large prime variant for quadratic sieve in the class
  7. rational_factorization.
  8. ! o You can now choose gmp as the integer arithmetic of the kernel.
  9. ! This LiDIA - release contains gmp version 2.0.2.
  10. --- 157,164 ----
  11. o mpqs: large prime variant for quadratic sieve in the class
  12. rational_factorization.
  13. ! o You can now choose gmp or cln as the integer arithmetic of the kernel.
  14. ! This LiDIA release contains gmp version 2.0.2 and cln version 1997-09-06.
  15. diff -r -c3 LiDIA-1.3.orig/config/CONFIG.in LiDIA-1.3/config/CONFIG.in
  16. *** LiDIA-1.3.orig/config/CONFIG.in Wed Feb 5 12:02:16 1997
  17. --- LiDIA-1.3/config/CONFIG.in Sat Jan 24 18:42:57 1998
  18. ***************
  19. *** 42,48 ****
  20. #
  21. # The Kernel And The Interface To Be compiled
  22. #
  23. ! # Possible Integer Interfaces Are: libI, lip, gmp
  24. #
  25. # Possible Memory Managers Are: malloc, dentzer, boehm,
  26. # default (no manager)
  27. --- 42,48 ----
  28. #
  29. # The Kernel And The Interface To Be compiled
  30. #
  31. ! # Possible Integer Interfaces Are: libI, lip, gmp, cln
  32. #
  33. # Possible Memory Managers Are: malloc, dentzer, boehm,
  34. # default (no manager)
  35. ***************
  36. *** 149,155 ****
  37. LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib
  38. #
  39. ! # OS/2 Compatability Section
  40. #
  41. CXX-off =
  42. --- 149,155 ----
  43. LIDIA_INSTALL_DAT = ${LIDIA_INSTALL_DIR}/lib
  44. #
  45. ! # OS/2 Compatibility Section
  46. #
  47. CXX-off =
  48. ***************
  49. *** 166,171 ****
  50. --- 166,172 ----
  51. # Make Command Macros
  52. #
  53. # AR -- the archiver command
  54. + # ARX -- the archiver extract command
  55. # RM -- command used to remove files
  56. # RMR -- command used to remove directories
  57. # CP -- command used to copy files
  58. ***************
  59. *** 178,183 ****
  60. --- 179,185 ----
  61. #
  62. AR = @AR@
  63. + ARX = ar x
  64. RM = @RM@
  65. RMR = @RMR@
  66. CP = @CP@
  67. diff -r -c3 LiDIA-1.3.orig/config/CONFIG.os2 LiDIA-1.3/config/CONFIG.os2
  68. *** LiDIA-1.3.orig/config/CONFIG.os2 Tue Jan 21 14:55:44 1997
  69. --- LiDIA-1.3/config/CONFIG.os2 Sat Jan 24 18:43:28 1998
  70. ***************
  71. *** 137,142 ****
  72. --- 137,143 ----
  73. # Make Command Macros
  74. #
  75. # AR -- the archiver command
  76. + # ARX -- the archiver extract command
  77. # RM -- command used to remove files
  78. # RMR -- command used to remove directories
  79. # CP -- command used to copy files
  80. ***************
  81. *** 147,152 ****
  82. --- 148,154 ----
  83. # TOUCH -- command used to create an empry file
  84. #
  85. AR = ar ru
  86. + ARX = ar x
  87. RM = del /N
  88. RMR = del /N
  89. CP = xcopy
  90. diff -r -c3 LiDIA-1.3.orig/config/bin/integer-sh LiDIA-1.3/config/bin/integer-sh
  91. *** LiDIA-1.3.orig/config/bin/integer-sh Tue Oct 22 22:25:57 1996
  92. --- LiDIA-1.3/config/bin/integer-sh Sun Jan 25 00:47:13 1998
  93. ***************
  94. *** 7,15 ****
  95. echo " "
  96. echo "You will now be asked for the integer arithmetic that "
  97. ! echo "will be used in the kernel of LiDIA (gmp, libI, lip)."
  98. echo " "
  99. echo "gmp - written by Torbjorn Granlund"
  100. echo "libI - written by Ralf Dentzer"
  101. echo "lip - written by Arjen Lenstra"
  102. echo " "
  103. --- 7,16 ----
  104. echo " "
  105. echo "You will now be asked for the integer arithmetic that "
  106. ! echo "will be used in the kernel of LiDIA (gmp, cln, libI, lip)."
  107. echo " "
  108. echo "gmp - written by Torbjorn Granlund"
  109. + echo "cln - written by Bruno Haible (based on gmp)"
  110. echo "libI - written by Ralf Dentzer"
  111. echo "lip - written by Arjen Lenstra"
  112. echo " "
  113. ***************
  114. *** 23,35 ****
  115. do
  116. echo -n "integer arithmetic ? [$INTEGERS] : "
  117. read ANSWER
  118. ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then
  119. INTEGERS=$ANSWER
  120. SUCCESS=y
  121. elif test "$ANSWER" = "" ; then
  122. SUCCESS=y
  123. else
  124. ! echo "Please choose gmp, libI, or lip."
  125. INTEGERS="libI"
  126. fi
  127. done
  128. --- 24,36 ----
  129. do
  130. echo -n "integer arithmetic ? [$INTEGERS] : "
  131. read ANSWER
  132. ! if test "$ANSWER" = "gmp" -o "$ANSWER" = "cln" -o "$ANSWER" = "lip" -o "$ANSWER" = "libI" ; then
  133. INTEGERS=$ANSWER
  134. SUCCESS=y
  135. elif test "$ANSWER" = "" ; then
  136. SUCCESS=y
  137. else
  138. ! echo "Please choose gmp, cln, libI, or lip."
  139. INTEGERS="libI"
  140. fi
  141. done
  142. diff -r -c3 LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig LiDIA-1.3/doc/manual/FIG/lidia_model.fig
  143. *** LiDIA-1.3.orig/doc/manual/FIG/lidia_model.fig Tue Feb 27 11:57:01 1996
  144. --- LiDIA-1.3/doc/manual/FIG/lidia_model.fig Sun Jan 25 00:48:58 1998
  145. ***************
  146. *** 55,61 ****
  147. 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001
  148. 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001
  149. 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001
  150. ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, mm)\001
  151. 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001
  152. 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001
  153. 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001
  154. --- 55,61 ----
  155. 4 0 -1 0 0 2 16 0.0000000 4 225 2085 1200 2850 parameterized classes\001
  156. 4 0 -1 0 0 2 16 0.0000000 4 225 1365 1200 4035 simple classes\001
  157. 4 0 -1 0 0 2 16 0.0000000 4 165 930 1200 5220 interfaces\001
  158. ! 4 2 -1 0 0 12 12 0.0000000 4 180 2100 9000 6375 (libI, lip, gmp, cln, mm)\001
  159. 4 2 -1 0 0 12 12 0.0000000 4 180 1365 9000 5175 (bigint, gmm)\001
  160. 4 2 -1 0 0 12 12 0.0000000 4 180 2940 9000 3975 (bigrational, bigfloat, ...)\001
  161. 4 2 -1 0 0 12 12 0.0000000 4 180 3675 9000 2775 (vector, matrix, power series, ...)\001
  162. diff -r -c3 LiDIA-1.3.orig/doc/manual/bibliography.tex LiDIA-1.3/doc/manual/bibliography.tex
  163. *** LiDIA-1.3.orig/doc/manual/bibliography.tex Fri Jan 24 13:22:31 1997
  164. --- LiDIA-1.3/doc/manual/bibliography.tex Sun Jan 25 00:55:48 1998
  165. ***************
  166. *** 151,156 ****
  167. --- 151,159 ----
  168. \IT{A rigorous subexponential algorithm for computation of class groups},
  169. Tech. report, IBM Research Report, San Jose, CA, 1989.
  170. + \bibitem{haible} B. Haible:
  171. + \IT{CLN, a Class Library for Numbers}, 1997.
  172. +
  173. \bibitem{HLConF} G.H. Hardy and J.E. Littlewood:
  174. \IT{\em Partitio numerorum {III}: On the expression of a number as a sum of
  175. primes}, Acta Math. {\bf 44} (1923), 1--70.
  176. diff -r -c3 LiDIA-1.3.orig/doc/manual/installing.tex LiDIA-1.3/doc/manual/installing.tex
  177. *** LiDIA-1.3.orig/doc/manual/installing.tex Wed Feb 5 17:33:40 1997
  178. --- LiDIA-1.3/doc/manual/installing.tex Sun Jan 25 00:58:30 1998
  179. ***************
  180. *** 309,316 ****
  181. of the kernel.
  182. \item BIGINT\\
  183. This is used to decide which integer arithmetic is to be compiled with
  184. ! {\LiDIA}. At the moment we support three possibilities: \TT{gmp}, \TT{libI},
  185. ! and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++
  186. compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen
  187. \TT{libI} during the configuration process and TARGET has been set
  188. to c by configure. In this case, no \TT{libI} assembler code is
  189. --- 309,316 ----
  190. of the kernel.
  191. \item BIGINT\\
  192. This is used to decide which integer arithmetic is to be compiled with
  193. ! {\LiDIA}. At the moment we support four possibilities: \TT{gmp}, \TT{cln},
  194. ! TT{libI}, and \TT{lip}. We suggest that you use the \TT{gmp} with the GNU g++
  195. compiler and \TT{libI} otherwise. Use \TT{lip}, if you have chosen
  196. \TT{libI} during the configuration process and TARGET has been set
  197. to c by configure. In this case, no \TT{libI} assembler code is
  198. diff -r -c3 LiDIA-1.3.orig/doc/manual/overview.tex LiDIA-1.3/doc/manual/overview.tex
  199. *** LiDIA-1.3.orig/doc/manual/overview.tex Wed Jan 29 19:32:32 1997
  200. --- LiDIA-1.3/doc/manual/overview.tex Sun Jan 25 00:57:36 1998
  201. ***************
  202. *** 19,24 ****
  203. --- 19,25 ----
  204. \newcommand{\libi}{{\bf libI}}
  205. \newcommand{\gmp}{{\bf GNU gmp}}
  206. \newcommand{\lip}{{\bf lip}}
  207. + \newcommand{\cln}{{\bf cln}}
  208. \newcommand{\bigint}{{\bf bigint}}
  209. ***************
  210. *** 70,76 ****
  211. It is a serious problem to decide which multiprecision integer package
  212. and which memory manager should be used in \LiDIA. There are
  213. competing multiprecision integer packages, for example the
  214. ! \gmp\ package \cite{gnump}, the \libi\ package \cite{dentzer} and
  215. the \lip\ package \cite{lenstra}. Some of those packages are more
  216. efficient on one architecture and some on others. Also, new
  217. architectures lead very fast to new multiprecision packages. We decided
  218. --- 71,78 ----
  219. It is a serious problem to decide which multiprecision integer package
  220. and which memory manager should be used in \LiDIA. There are
  221. competing multiprecision integer packages, for example the
  222. ! \gmp\ package \cite{gnump}, the \cln\ package \cite{haible},
  223. ! the \libi\ package \cite{dentzer} and
  224. the \lip\ package \cite{lenstra}. Some of those packages are more
  225. efficient on one architecture and some on others. Also, new
  226. architectures lead very fast to new multiprecision packages. We decided
  227. ***************
  228. *** 112,120 ****
  229. whole functionality of the interface can be used in the kernel.
  230. Currently, we support the multiprecision integer packages
  231. \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra}
  232. ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}) and GNU's
  233. \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous
  234. ! ftp via \TT{prep.ai.mit.edu}).
  235. The second \LiDIA\ level is the \BF{interface} through which {\CPP}
  236. applications on higher levels have access to the kernel. By that
  237. --- 114,123 ----
  238. whole functionality of the interface can be used in the kernel.
  239. Currently, we support the multiprecision integer packages
  240. \libi\ \cite{dentzer}, Arjen Lenstra's \Index{lip} package \cite{lenstra}
  241. ! (available by anonymous ftp via \TT{flash.bellcore.com:/pub/lenstra}), GNU's
  242. \IndexSUBTT{GNU}{gmp} arithmetic \cite{gnump} (available by anonymous
  243. ! ftp via \TT{prep.ai.mit.edu}), and CLN (available by anonymous ftp from
  244. ! \TT{ma2s2.mathematik.uni-karlsruhe.de:/pub/gnu}).
  245. The second \LiDIA\ level is the \BF{interface} through which {\CPP}
  246. applications on higher levels have access to the kernel. By that
  247. diff -r -c3 LiDIA-1.3.orig/include/LiDIA/bigint.h LiDIA-1.3/include/LiDIA/bigint.h
  248. *** LiDIA-1.3.orig/include/LiDIA/bigint.h Tue Oct 29 17:47:17 1996
  249. --- LiDIA-1.3/include/LiDIA/bigint.h Sat Jan 24 20:29:16 1998
  250. ***************
  251. *** 51,56 ****
  252. --- 51,57 ----
  253. bigint(long l);
  254. bigint(unsigned long ul);
  255. bigint(const bigint & a);
  256. + bigint(const integer_type_name & II) : I (II) {} // cln needs this
  257. ~bigint();
  258. /**
  259. Only in LiDIA-1.3/src/interfaces/integers: cln
  260. diff -r -c3 LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c LiDIA-1.3/src/interfaces/integers/gmp/bigint.c
  261. *** LiDIA-1.3.orig/src/interfaces/integers/gmp/bigint.c Fri Jan 10 18:19:00 1997
  262. --- LiDIA-1.3/src/interfaces/integers/gmp/bigint.c Sat Jan 24 17:41:29 1998
  263. ***************
  264. *** 610,616 ****
  265. void invert(bigint & a, const bigint & b)
  266. {
  267. ! if ((a.I._mp_size == 1 || a.I._mp_size == -1) && a.I._mp_d[0] == 1)
  268. mpz_set(&a.I, &b.I);
  269. else
  270. lidia_error_handler("bigint", "invert::inverting of a non-unit.");
  271. --- 610,616 ----
  272. void invert(bigint & a, const bigint & b)
  273. {
  274. ! if ((b.I._mp_size == 1 || b.I._mp_size == -1) && b.I._mp_d[0] == 1)
  275. mpz_set(&a.I, &b.I);
  276. else
  277. lidia_error_handler("bigint", "invert::inverting of a non-unit.");
  278. Only in LiDIA-1.3/src/kernel/integers: cln
  279. diff -r -c3 LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c LiDIA-1.3/src/simple_classes/factorization/mpqs.c
  280. *** LiDIA-1.3.orig/src/simple_classes/factorization/mpqs.c Tue Jan 28 14:00:36 1997
  281. --- LiDIA-1.3/src/simple_classes/factorization/mpqs.c Sat Jan 24 17:45:17 1998
  282. ***************
  283. *** 17,23 ****
  284. //extern "C" int system(char*);
  285. #endif
  286. ! #if !defined(__GNUG__)
  287. #include <signal.h>
  288. #else
  289. #define SIGHUP 1 /* hangup */
  290. --- 17,23 ----
  291. //extern "C" int system(char*);
  292. #endif
  293. ! #if defined(__linux__) || !defined(__GNUG__)
  294. #include <signal.h>
  295. #else
  296. #define SIGHUP 1 /* hangup */