source: git/factory/ChangeLog @ 6c5d86

spielwiese
Last change on this file since 6c5d86 was 6c5d86, checked in by Hans Schönemann <hannes@…>, 21 years ago
* Hannes: NTL git-svn-id: file:///usr/local/Singular/svn/trunk@6315 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 58.3 KB
Line 
1Thu Nov  7 11:29:33 MET 2002 Hans Schoenemann <hannes@mathematik.uni-kl.de>
2        * interface to NTL
3        * many fixes
4
5Wed Aug 22 16:25:16 MET DST 2001 Hans Schoenemann <hannes@mathematik.uni-kl.de>
6        * Version 1.3c: some utility functions for libfac
7        * search for main var in factorize (experimental)
8
92000-09-02  Olaf Bachmann  <obachman@mathematik.uni-kl.de>
10
11        * configure.in, etc: support for omalloc
12
132000-08-04  Olaf Bachmann  <obachman@mathematik.uni-kl.de>
14
15        * ffops.cc: initialize ff_prime to 0, so that first call to
16        ff_setprime always initializes ff_invtab.
17
18Tue Feb 16 19:00:03 1999  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
19
20        * GNUmakefile.in (basefactorysrc): `imm.cc' added
21          (ftestm4src): `divrem.m4' added
22          (distfiles): `factory.cfg' added
23
24        * factory.cfg: new file
25
26        * GNUmakefile.in (.PHONY): dependencies `doxy', `doxyclean' added
27          (doxy, doxyclean): new targets
28          (mostlyclean): dependency `doxyclean' added
29
30        * GNUmakefile.in (doxysrc, doxyincl): new variables
31          (doxyfiles): new variable
32
33        * GNUmakefile.in (ftestm4src): `sqrfree.m4' added
34
35        * GNUmakefile.in (ftestsrc, ftestincl): ntl-stuff added
36          (ftestm4src): `gcd.ntl.m4', `revert.m4' added
37
38Wed Sep 23 19:05:47 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
39
40        * fac_ezgcd.cc (ezgcd_specialcase): bug fix (???).  See comments
41          in the file for more information.
42
43Tue Jul  7 18:34:39 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
44
45        * GNUmakefile.in (ftestm4src): `extgcd.m4' added to distribution
46
47Wed Jul  1 10:57:53 1998      <pohl@FUECHSE>
48
49        * int_intdiv.cc (modulocoeff): extra call added for `mpz_mod_ui()'
50          with void return value.  Wrapped by #define `__MWERKS__'.
51
52Tue Jun 30 16:38:41 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
53
54        * cf_algorithm.cc: doc fixes
55
56        * cf_algorithm.cc (divides): bug fix.  Works for zero f and g.
57          More heuristic added.
58
59        * cf_algorithm.cc (psr, psq, psqr): bug fix.  Work for `x' with
60          level lower than `level(f)' or `level(g)'.
61
62        * cf_algorithm.h: doc fixes
63
64        * ftmpl_inst.cc (tmax, tmin(Var, Var)): instantiations added
65
66        * GNUmakefile.in (ftestm4src): `divides.m4' added to distribution
67
68Mon Jun 29 12:41:40 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
69
70        * templates/ftmpl_functions.h: doc fixes
71
72        * GNUmakefile.in (basefactorysrc): `cf_inline.cc' and
73          `cf_iter_inline.cc' added to distribution
74
75        * canonicalform.h (class CanonicalForm): friend declarations for
76          `operator -', `operator +', `operator *', `operator /',
77          `operator %', `div', `mod' replaced by ordinary declarations
78
79        * canonicalform.cc, canonicalform.h (CanonicalForm,
80          ~CanonicalForm, isOne, isZero, operator =): definitions of
81          methods moved to `cf_inline.cc'.  Declarations marked as
82          `CF_INLINE' or `CF_NO_INLINE', resp.
83          (operator -, operator +, operator *, operator /, operator %,
84          div, mod): definitions of operators moved to `cf_inline.cc'.
85          Declarations marked as `CF_INLINE' or `CF_NO_INLINE', resp.
86        * canonicalform.h (CF_INLINE, CF_NO_INLINE): new #defines.
87          `cf_iter_inline.cc' (conditionally) #included.
88       
89        * cf_iter.cc, cf_iter.h (operator++, coeff, hasTerms, exp):
90          definitions moved to `cf_iter_inline.cc'.  Declarations marked
91          as `CF_INLINE' or `CF_NO_INLINE', resp.
92        * cf_iter.h (CF_INLINE, CF_NO_INLINE): new #defines.
93          `cf_iter_inline.cc' (conditionally) #included.
94
95        * configure.in (enable_cf_inline): new `--enable'-option
96        * config.h.in (CF_USE_INLINE): new #define
97
98        * cf_inline.cc (CanonicalForm(Variable, int))): assertion added
99
100        * cf_inline.cc (isOne, isZero, operator -(CF)): order of immediate
101          checks changed
102
103        * cf_inline.cc: new file
104
105        * cf_iter_inline.cc (operator ++, coeff, exp): assertions fixed
106
107        * cf_iter_inline.cc: new file
108
109Fri Jun 26 12:24:34 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
110
111        * int_cf.cc, int_cf.h (isOne, isZero): pure virtual methods
112          implemented.  Declarations adapted.
113        * int_rat.cc, int_int.cc, int_rat.h, int_int.h, int_poly.h
114          (isZero, isOne): methods removed.  Declarations adapted.
115        * int_pp.cc (isOne, isZero): slightly speeded up.  Doc fixes.
116        * imm.h (imm_isone, imm_isone_p, imm_isone_gf): doc fixes
117        * imm.h (imm_iszero, imm_iszero_p, imm_iszero_gf): doc fixes
118
119        * int_poly.cc, int_pp.cc, int_rat.cc (neg): doc fixes
120        * int_int.cc (neg): doc fixes.  Slightly speeded up.
121        * imm.h (imm_neg, imm_neg_p, imm_neg_gf): doc fixes
122
123Mon Jun 15 16:04:26 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
124
125        * configure.in: doc fixes
126
127        * configure.in: explicit path name generated slightly rewritten to
128          work on HP's.  Absolute path names are generated already by
129          Makefile to keep `configure.in' more readable.
130
131Fri Jun 12 16:28:48 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
132
133        * int_intdiv.cc: `canonicalform.h' included
134
135        * gfops.cc, int_int.cc, readcf.y: order of includes fixed
136
137        * timing.h: bug fix.  Test on `WINNT' negated.
138
139Tue Jun  9 11:52:45 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
140
141        * configure.in (ac_save_path): renamed to `$save_path'.  All
142          references changed
143          (expl_datadir, expl_gftabledir): renamed to `$explicit_datadir',
144          `$explicit_gftabledir', resp.  All references changed.
145
146        * configure.in: checks for gmp.h and libgmp.a search in
147          `$includedir' and `$libdir', resp.
148
149        * configure.in: new section added to get a safer explicit path
150          expansion
151
152        * configure.in: `$gftabledir' is not longer handled in a special
153          way for Singular
154
155Mon Jun  8 17:26:55 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
156
157        * singext.h: doc fix
158
159        * gfops.cc, singext.h (cf_get_table): use `feFopen()' to load
160          GF(q) tables if built with Singular.  Declaration added to
161          `singext.h' (by Hannes).
162
163        * configure.in: calls to `AC_PATH_PROG' ``fixed''.  Necessary
164          because of some old autoconf version (by Olaf)
165
166        * ftmpl_inst.cc: test on `WINNT' disabled with gcc
167
168Wed Jun 03 16:47:54 1998    <pohl@FUECHSE>
169
170        * ftmpl_factor.h (template <class T> class Factor):
171          `operator == ( const Factor<T> &, const Factor<T> &)'
172          removed as friend and added as extra operator
173
174Wed Jun 03 14:47:41 1998    <pohl@FUECHSE>
175
176        * timing.h, readcf.y, int_poly.cc, imm.h: test on WINNT
177          disabled with gcc
178
179Mon May 11 11:36:22 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
180
181        * config.h.in (INT64): unused declarations for MetroWerks removed
182
183        * imm.cc (imm_mul): wrapped by `#ifdef __MWERKS__'
184
185        * ffops.h (ff_bignorm): definition of `ff_bignorm' removed for
186          MetroWerks
187          (ff_mul): made a declaration for MetroWerks.  Defined in
188          `ffops.cc'.
189
190        * imm.cc (imm_mul): new file for MetroWerks
191
192        * imm.h (MINIMMEDIATELL, MAXIMMEDIATELL): definition of long long
193          constants removed for mac
194          (imm_mul): made a declaration for MetroWerks.  Defined in
195          `imm.cc'.
196
197        * fac_cantzass.cc (CantorZassenhausFactorFFGF,
198          CantorZassenhausFactorExt): new local variables `firstFactor',
199          `secondFactor' introduced to fix order of evaluation of
200          recursive factorizations
201
202Mon Apr 20 16:34:14 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
203
204        * .cvsignore (stamp-h): entry re-added.  After all, its
205          necessary.
206
207        * configure.in (MKINSTALLDIRS, MAKEHEADER): instead of using an
208          absolute path, use relativ path and our own variables
209          `FACTORY_MKINSTALLDIRS' and `FACTORY_MAKEHEADER'.  Do not use
210          cache to get the variables' values.
211        * GNUmakefile.in (MKINSTALLDIRS, MAKEHEADER): use the values from
212          `FACTORY_MKINSTALLDIRS' and `FACTORY_MAKEHEADER', resp.
213
214Tue Apr 14 14:05:47 1998  Wilfred Pohl  <pohl@mathematik.uni-kl.de>
215
216        * fac_univar.cc (UnivariateQuadraticLift): type for `log()' must
217          be float, hence constant `2' replaced by `2.0'
218
219        * config.h.in (INT64): new typedef for Metroworks compiler
220
221Mon Apr  6 14:06:49 MET DST 1998  Jens Schmidt
222
223        * int_intdiv.cc:
224          ***** merge from branch `factory-gcd' to main trunk
225
226        * ftmpl_inst.cc: instantiations for `tabs( int )' added
227
228        * fac_univar.cc (UnivariateQuadraticLift, UnivariateLinearLift):
229          call to `div( CF, CF )' replaced by call to `operator / ( CF, CF )'
230
231Mon Mar 23 17:00:00 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
232
233        * GNUmakefile.in (ftestm4src): references `$(ftestm4develsrc)'
234          instead of `$(ftestm4src)' from development `GNUmakefile' to
235          avoid problems when building distributions
236
237Tue Mar 17 16:57:10 MET 1998  Jens Schmidt
238
239        * int_int.cc, int_int.h, int_poly.cc, int_poly.h, int_intdiv.cc,
240        * ChangeLog:
241          ***** merge from branch `factory-gcd' to main trunk
242
243        * GNUmakefile.in:
244          ***** merge from branch `factory-gcd' to main trunk
245
246        * timing.h, examples/application.cc:
247          ***** merge from branch `factory-gcd' to main trunk
248
249Tue Mar 17 14:22:56 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
250
251    **************** <<< changes in branch `factory-gcd' ****************
252
253        * int_poly.cc (dividecoeff, divremcoeff): use `divideTermList()'
254          to do their work
255          (divideTermList): new function copied from former
256          `divTermList()'.  Declaration added.
257
258        * int_poly.cc (divTermList): uses `div()' to divide coefficients
259
260        * int_int.cc (dividesame, dividecoeff, divsame, divcoeff,
261          modulosame, modulocoeff, modsame, modcoeff, divremsame,
262          divremcoeff, divremsamet, divremcoefft): methods moved to
263          int_intdiv.cc.  Slightly speeded up.
264
265        * int_int.h (normalizeMPI, uiNormalizeMPI, normalizeMyself,
266          uiNormalizeMyself): new `InternalIntger' methods.  Declarations
267          added.
268
269        * int_int.h (class InternalInteger): static member `initialized' removed
270
271        * int_intdiv.cc: new file
272
273        * GNUmakefile.in (basefactorysrc): int_intdiv.cc added to
274          distribution
275
276        * timing.h (TIMING_END_AND_PRINT): added for windows
277
278          (TIMING_DEFINE_PRINTPROTO, TIMING_PRINT): macros common to all
279          platforms extracted from `#ifdef' directive
280
281        * timing.h (TIMING_RESET): new macro
282
283Fri Mar 13 17:05:10 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
284
285        * examples/application.cc (main): cosmetic changes
286
287        * canonicalform.cc, canonicalform.h, cf_algorithm.cc, cf_factor.cc,
288        * cf_map.cc, cf_map.h, fac_ezgcd.cc, fac_multivar.cc,
289        * fac_univar.cc, fac_util.cc, fac_util.h, ffops.cc, ftmpl_array.h,
290        * ftmpl_factor.h, ftmpl_functions.h, ftmpl_list.h, ftmpl_matrix.h,
291        * sm_sparsemod.cc, sm_util.cc, sm_util.h, ftest/ChangeLog,
292        * ftest/commonden.m4, ftest/norm.m4, templates/ftmpl_array.cc,
293        * templates/ftmpl_factor.cc, templates/ftmpl_functions.h,
294        * templates/ftmpl_list.cc, templates/ftmpl_matrix.cc, ChangeLog,
295        * GNUmakefile.in, cf_algorithm.h, cf_gcd.cc, factory.template,
296        * ftmpl_inst.cc:
297          ***** merge from main trunk to branch `factory-gcd'
298
299    **************** >>> changes in branch `factory-gcd' ****************
300
301Thu Mar 12 12:21:33 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
302
303        * cf_gcd.cc (maxnorm): function removed.  All references replaced
304          by `maxNorm()'.
305
306        * fac_univar.cc (norm): function removed.  All references replaced
307          by `euclideanNorm()'.
308
309        * fac_util.cc (maxCoeff): function removed.  Declarations
310          adapted.  All references replaced by `maxNorm()'.
311
312        * cf_algorithm.cc (divides): slightly speeded up.
313
314        * canonicalform.h (sign): new function
315
316        * canonicalform.cc (blcm): new function.  Declaration added.
317
318Wed Mar 11 10:39:33 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
319
320        * cf_algorithm.cc (cden, common_den): renamed to
321          `internalBCommonDen()' and `bCommonDen()', resp.  Declarations
322          adapted. All references changed.
323
324        * cf_algorithm.h (abs): function `abs()' moved from
325          `canonicalform.h' to `cf_algorithm.h'.  All referring files
326          include `cf_algorithm.h'.
327
328        * cf_algorithm.cc (maxNorm, euclideanNorm): new functions.
329          Declarations added.
330
331        * cf_algorithm.cc (internalBCommonDen): uses `blcm()' instead of
332          `lcm()'
333
334        * GNUmakefile.in (ftestm4src): `norm.m4' and `commonden.m4' added
335          to distribution
336
337        * templates/ftmpl_functions.h (tabs): new function
338
339        * ffops.cc (ff_setprime): uses `memset()' to clear inversion
340          table
341
342        * ftest/ChangeLog, ftest/ftest_io.cc, ftest/ftest_io.h,
343        * ftest/ftest_util.cc, ftest/ftest_util.h, ftest/ftest_util.m4,
344        * ftest/gcd.fex, ftest/runfex:
345          ***** merge from branch `factory-gcd' to main trunk
346
347Tue Mar 10 15:44:06 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
348
349        * factory.template, ftmpl_inst.cc, templates/ftmpl_array.cc,
350          templates/ftmpl_factor.cc, templates/ftmpl_list.cc,
351          templates/ftmp_matrix.cc: #include directives for mac fixed
352
353        * ftmpl_array.h, ftmpl_factor.h, ftmpl_functions.h, ftmpl_list.h,
354          ftmpl_matrix.h: new files.  #include of `templates/ftmpl_xxx.h'
355          changed to include of `ftmpl_xxx.h'.
356        * GNUmakefile.in (basefactoryincl): new header files added to
357          distribution
358
359Fri Feb 27 10:24:22 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
360
361    **************** <<< changes in branch `factory-gcd' ****************
362
363        * var_intglobal.cc, var_intglobal.h: files removed (do not belong
364          to this branch!)
365
366        * cf_primetab.h: file removed
367
368        * cf_defs.h (SW_QUOTIENT, SW_FAC_USE_BIG_PRIMES): switches removed
369
370        * cf_linsys.cc (linearSystemSolve, solve, bound determinant2):
371          incorrect respective unused code removed
372
373        * cf_char.cc (setCharacteristic): adapted to new prime generation
374          scheme
375        * cf_char.cc (setCharacteristic): previous adaption slightly
376          changed.  The largest small prime is now looked up only once.
377
378        * cf_gcd.cc (gcd_poly_univar0): adapted to new prime generation
379          scheme
380        * fac_ezgcd.cc (findBound): adapted to new prime generation
381          scheme
382        * cf_linsys.cc (determinant): adapted to prime generation
383          scheme
384        * sm_sparsemod.cc (internalSparsemod): adapted to new prime
385          generation scheme
386        * fac_univar.cc (choosePrimes): adapted to new prime generation
387          scheme
388
389        * sm_sparsemod.cc (sparsemod): debug output added
390
391        * fac_univar.cc (cf2double): function removed
392
393        * fac_univar.cc (UnivariateQuadraticLift, UnivariateLinearLift):
394          argument `Gamma' removed.  All callers changed.
395
396        * fac_univar.cc (UnivariateQuadraticLift, UnivariateLinearLift): call to
397          `div( CF, CF )' replaced by call to `operator / ( CF, CF )'
398
399Thu Feb 26 17:58:31 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
400
401        * gcd_pmultiv.h (class CFPrimitiveMultivariateGCD): renamed to
402          `CFPrimitiveMultivariateGcd'.  All references changed.
403          (class CFSubResGCD): renamed to `CFSubResGcd'.  All references
404          changed.
405
406        * gcd_pmultiv.h (class CFPrimitiveMultivariateGCD): does no longer
407          inherit virtual from `CFPrimitiveGcd'
408          (class CFSubResGcd): does no longer inherit from
409          `CFPrimitiveUnivariateGCD'
410
411        * gcd_pmultiv.h (class CFSubResGcd): new method `clone()'
412
413        * gcd_pmultiv.h: new file
414
415        * gcd_pmultiv.cc (CFSubResGcd::execute): bug fix.  Superfluous
416          break removed.
417          (execute): bug fix.  Assertion fixed.
418
419        * gcd_pmultiv.cc: new file
420
421    **************** >>> changes in branch `factory-gcd' ****************
422
423Fri Feb 20 17:41:23 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
424
425        * GNUmakefile.in (installcf, installmem): `ranlib' libraries after
426          installing them for SUN machines
427
428Tue Feb 10 10:47:04 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
429
430        * cf_switches.h: doc fix
431
432Mon Feb  9 15:57:07 1998  Ruediger Stobbe  <rstobbe@de.oracle.com>
433
434        * cf_factor.cc (factorize): factorize now handles characteristic
435          0 correct, e.g. rational coefficients and SW_RATIONAL = ON.
436
437Mon Feb  9 11:40:41 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
438
439        * cf_primetab.cc: new file
440
441Thu Feb  5 16:53:21 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
442
443        * configure.in (enable_timing, enable_debugoutput): extra timing
444          and debugoutput magic removed
445        * GNUmakefile.in (@timingtargets@, @debouttargets@,
446          @debtimingtargets@): extra timing and debugoutput magic removed
447
448Tue Feb  3 14:03:00 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
449
450        * GNUmakefile.in (ftestm4src): `bextgcd.m4' and `bgcd.m4'
451          removed.  References variable `ftestm4src' instead.
452
453Mon Feb  2 09:55:16 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
454
455        * cf_chinese.cc (chineseRemainder( const CanonicalForm & ...)):
456          completely rewritten
457
458Fri Jan 30 15:06:26 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
459
460        * cf_chinese.cc (chineseRemainder): debug output added
461
462        * cf_chinese.cc (chineseRemainder( const CFArray & ...)): slightly
463          speeded up
464
465        * cf_gcd.cc (iextgcd, igcd): functions removed.  All references
466          replaced by `bextgcd()' and `bgcd()', resp.
467
468        * canonicalform.h (iextgcd): declaration removed
469
470Thu Jan 22 10:38:34 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
471
472        * int_cf.cc, int_int.cc int_rat.cc (bgcdsame, bgcdcoeff,
473          bextgcdsame, bextgcdcoeff): new methods.  Declarations added.
474
475        * GNUmakefile.in (ftestm4src): `bgcd.m4' and `bextgcd.m4' added to
476          distribution
477
478        * canonicalform.h (mvar): bug fix.  Declared as `Variable mvar
479          (...)'.
480
481        * canonicalform.cc (bgcd, bextgcd): new functions.  Declarations
482          added.
483
484Fri Jan 16 09:08:17 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
485
486        * cf_switches.h: doc fix
487
488        * cf_algorithm.h (divides): declaration moved from canonicalform.h
489          to cf_algorithm.h
490
491        * cf_switches.cc: doc fix
492
493Tue Jan 13 14:56:42 1998  Olaf Bachmann  <obachman@mathematik.uni-kl.de>
494
495        * configure.in: changed order of library checks (-lm before
496          -lgmp); check for atof in -lm check, to work around a bug on
497          some linux machines.
498
499Tue Jan  6 11:01:23 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
500
501        * .cvsignore (stamp-h): entry removed
502
503Wed Dec 17 09:56:25 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
504
505        * canonicalform.cc (operator ==, operator !=): rewritten and
506          speeded up
507          (operator >): slightly speeded up
508
509        * int_cf.h (class InternalCF): `sign()' declared as const
510
511        * int_poly.cc (comparesame): doc and assertion fix
512
513        * int_int.cc (sqrt, ilog2): assertion fixes
514
515        * int_pp.cc (comparecoeff): assertion fix
516
517        * int_rat.cc (comparesame): doc fix
518
519        * int_cf.cc (InternalCF::sign): method made pure virtual.
520          Declaration adapted.
521
522        * int_cf.cc (taildegree): bug fix.  Did not check whether CO is
523          zero.
524
525        * imm.h (imm_cmp): doc fix
526
527        * canonicalform.cc (CanonicalForm::gcd): method removed.
528          Declaration adapted.
529
530        * canonicalform.cc (degree, taildegree): one more time slightly
531          speeded up.  Hopefully for the last time.
532
533Fri Dec 12 10:06:33 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
534
535        * imm.h (imm_cmp_p, imm_cmp_gf): comparisons fulfill law of
536          trichitomy
537
538        * readcf.y (yylex): parser reads generator from GF(q) correctly
539
540Tue Dec  9 10:03:07 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
541
542        * GNUmakefile.in (.PHONY): dependencies `$(srcdir)/winnt/factory.h'
543          and `$(srcdir)/winnt/factoryconf.h' added
544
545        * winnt/factory.h:  automatically created from `factory.template'
546          using `makeheader'
547
548        * winnt/factoryconf.h: automatically created from
549          `factoryconf.template' using `makeheader'
550
551        * GNUmakefile.in (dist): dependencies `$(srcdir)/winnt/factory.h'
552          and `$(srcdir)/winnt/factoryconf.h' added
553          ($(srcdir)/winnt/factory.h): new target
554          ($(srcdir)/winnt/factoryconf.h): new target
555
556        * GNUmakefile.in (distntfile): new variable
557          (distfiles): `$distntfiles' added to distribution
558          (dist): creates directory `winnt/'
559          (distfiles): `bin/makeheader.pl' added to distribution
560
561        * config.h.in (INT64): new define
562
563        * bin/makeheader.pl: new file
564
565        * int_poly.cc (comparecoeff): unused argument `acoeff' removed
566
567Mon Dec  8 18:56:39 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
568
569        * INSTALL, README: doc fixes for the Windows NT port
570
571Thu Nov 27 21:00:00 1997  Ruediger Stobbe  <rstobbe@de.oracle.com>
572
573        * winnt: new directory containing configuration files for
574          Microsoft Windows NT port using MS Visual C++ 5.0
575
576        * winnt/INSTALL.nt: new file that describes the make process on
577          Windows NT
578
579        * winnt/nt.mak: Makefile for Windoes NT
580
581        * winnt/config.h: preconfigured file for Windows NT
582
583        * winnt/factoryconf.h: for the first time this file is a hand-made
584          version of factoryconf.h for Windows NT
585
586        * winnt/factory.h: for the first time this file is a hand-made
587          version of factory.h for Windows NT
588
589        * config.h.in: new typedef INT64 for 64 bit integer type of various
590          platforms (currently 'long long int' for gcc and '__int64' for
591          MS VC++)
592
593        * readcf.y: malloc.h and memory.h are included in the case of WINNT
594          to have prototypes for alloca and memcpy
595
596        * ffops.h: now uses INT64 instead of long long int
597
598        * ffops.cc: now uses INT64 instead of long long int
599
600        * imm.h: now uses INT64 instead of long long int
601
602        * int_poly.cc: includes strstrea.h instead of strstream.h in the
603          case of WINNT (a typical Microsoft 8.3 problem - its a pity)
604
605        * cf_random.cc: the way const data members were used was not
606          conforming to the C++ standard. Now there is a version of
607          RandomGenerator that should run the same way on gcc as well as on
608          CodeWarrior (mac) and MS VC++ (nt) and every other compiler
609          conforming to the C++ standard
610
611        * fac_iterfor.cc: fixed assertion that refers to a variable that
612          was not in the scope. Wondering why gcc compiled it
613
614        * fac_sqrfree.cc: isSqrFreeZ now returns a bool, as declared in
615          the prototype. Again wondering about gcc's behaviour
616
617        * sm_sparsemod.cc: array declaration of varf, varg and schnitt on
618          on the heap instead on the stack because the array size is not
619          a constant. delete [] is called at a suitable place
620
621        * fac_cantzass.h: MS VC++ does not like a default value for a
622          parameter that is a reference (in some sense this is good behaviour)
623          Therefore there are now no default values for the parameter list
624          of FpFactorizeUnivariateCZ
625
626        * fac_cantzass.cc: No reference parameters for FpFactorizeUnivariateCZ
627
628        * cf_factor.cc: FpFactorizeUnivariateCZ is called with full parameter
629          list
630
631        * fac_univar.cc: FpFactorizeUnivariateCZ is called with full parameter
632          list
633
634        * ftmpl_inst.cc: MS VC++ does not like to explicitly instantiate
635          template functions - tmax and tmin are therefore not instatiated in
636          the case of WINNT
637          Anyway it is not clear if this file is needed when using MS VC++
638          since the handling of templates in MS VC++ done in the spirit of
639          AT&T's Cfront compilers which do a more automatic job
640
641        * templates/ftmpl_list.h: MS VC++ wants a forward declaration of
642          template class List<T> and template class ListIterator<T>. This
643          should be no problem for gcc
644
645        * timing.h: changes in the case of WINNT
646
647Fri Nov 21 15:25:27 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
648
649        * canonicalform.h (class CanonicalForm): inline method hasGcd()
650          removed.
651
652        * int_poly.cc (coeff): explicit cast to CanonicalForm added
653          (coeff): cosmetic change
654
655        * int_rat.cc (comparecoeff): bug fix.  Did not calculate dummy
656          correctly.
657          (comparecoeff): assertion moved into `if' branch
658
659        * int_pp.cc (comparesame): assertion added
660
661        * int_int.cc (comparesame): assertion added
662
663        * int_cf.cc (coeff): explicit cast to CanonicalForm added
664
665        * int_cf.cc (comparecoeff): function made pure virtual.
666          Declarations adapted.
667        * int_cf.h (class InternalCF): new pure virtual function
668          comparecoeff()
669
670        * imm.h: doc fix
671
672        * GNUmakefile.in (ftestm4src): fbinops.m4 added to distribution
673
674Thu Nov 20 16:21:51 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
675
676        * imm.h: functions rereordered
677
678Wed Nov 19 12:21:27 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
679
680        * gfops.h: functions reordered
681
682        * imm.h (imm_sign): doc fix
683
684        * imm.h: functions reordered
685
686Thu Nov 13 09:10:53 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
687
688        * cf_chinese.cc (chineseRemainder): `const CF' in arguments
689          changed to `const CF &'.  Declaration adapted.
690
691        * configure.in: doc fix
692
693        * GNUmakefile.in (ftestall): new target
694          (.PHONY): dependencies `ftestall' `ftestclean' `ftestdistclean'
695          added
696
697        * GNUmakefile.in (%.d): dependency generation uses temporary files
698          (clean): removes these temporary files
699
700        * GNUmakefile.in ($(ftestexec)): dependecy `factoryconf.h' added
701
702Wed Nov 12 18:08:51 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
703
704        * configure.in: check for `GetOpt.h' removed
705
706Thu Nov  6 16:43:17 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
707
708        * configure.in: check for `libg++.a' commented out
709
710Wed Nov  5 14:48:46 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
711
712        * GNUmakefile.in (conftest): new target
713          ($(ftestexec), gengftables.o): dependency `conftest' added
714
715        * GNUmakefile.in (gengftables.o): some dependencies removed
716          (gengftables): dependencies slightly changed
717
718        * configure.in: exits with error on absence of libgmp.a or libm.a
719
720        * configure.in: check for `unistd.h' added
721
722        * configure.in: check for `libg++.a' added
723
724Wed Oct 29 12:41:04 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
725
726        * configure.in: check for `ln -s' added
727
728        * configure.in: checks for header files necessary for the FTE
729          added
730
731        * GNUmakefile.in (LN_S): new variable
732
733        * GNUmakefile.in ($(ftestexec)): new target
734
735        * GNUmakefile.in (ftestsrc, ftestincl, ftestm4src, ftestdistfiles,
736          ftestexec): new variables
737          (distsrc, distincl, distfiles, dist): FTE added to distribution
738          (ftestclean, ftestdistclean): new targets
739          (clean, distclean): dependencies ftestclean and ftestdistclean,
740          resp., added
741
742        * GNUmakefile.in (ftest/GNUmakefile): new target
743
744        * GNUmakefile.in (gengftables): rule slightly simplified
745
746        * test_install.cc (main): calls to `operator<<()' replaced by
747          calls to `printf()'
748
749        * configure.in (M4FLAGS): new output variable
750        * configure.in (M4): check for `m4' added
751
752        * configure.in: creates `ftest/GNUmakefile'
753
754Tue Oct 28 14:46:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
755
756
757    **************** Factory Version 1.3b released ****************
758
759       
760        * NEWS: updated to 1.3b
761
762        * README: doc fix.  Updated to 1.3b.
763
764        * INSTALL: doc fix.  Updated to 1.3b.
765
766        * configure.in (factory_version): updated to 1.3b
767
768        * examples/GNUmakefile: doc fix
769
770        * configure.in (factory_configuration): new variable
771        * config.h.in (FACTORYCONFIGURATION): new #define
772
773        * configure.in (ac_cv_shift): set to `yes' in case of cross
774          compiling
775
776        * examples/application.cc (main): check on existence of GF(q)
777          tables removed
778
779Mon Oct 27 15:14:19 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
780
781        * examples, examples/GNUmakefile, examples/application.cc,
782          examples/gcd.cc, examples/factorize.cc: new files
783        * GNUmakefile.in (distfiles, dist): `examples/' and `examples/*'
784          added to distribution
785
786        * canonicalform.cc (operator >, operator <): bug fix.  Calls
787          `comparecoeff()' in the right way.
788
789Fri Oct 24 18:44:37 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
790
791        * GNUmakefile.in (TMPLCXXFLAGS): set to `$(LIBCXXFLAGS)'
792
793        * cf_gcd.cc (gcd): bug fix.  Handles polynomials with rational
794          coefficients correctly
795
796Thu Oct 23 14:13:42 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
797
798        * ftmpl_inst.cc: implicit instantiations of `ListItem<T>' changed
799          to explicit instantiations
800
801        * factory.template, factoryconf.template, gengftables.cc,
802          ftmpl_inst.cc: doc fix
803
804        * cf_globals.cc (factoryConfiguration): new external variable.
805          Declaration added.
806        * test_install.cc (main): prints factoryConfiguration
807
808Wed Oct 22 15:41:30 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
809
810        * configure.in: doc fixes
811
812        * canonicalform.cc (operator ()): speeded up
813
814        * cf_random.cc (factoryrandom): returns a random number without
815          calculating any remainder if n equals zero
816
817        * ffops.cc (ff_setprime): does not clear table of primes if the
818          prime number used last time equals new one
819
820Tue Oct 21 13:24:48 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
821
822        * test_install.cc: new file
823        * GNUmakefile.in (distsrc): distribution file test_install.cc
824          added
825          (installtest, test_install, iftmpl_inst.o, test_install.o): new
826          targets
827          (clean): removes test_install
828          (.PHONY): phony target installtest added
829
830Wed Oct 15 16:31:53 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
831
832        * canonicalform.cc (taildegree): slightly speeded up
833
834        * canonicalform.cc (operator []): assertion added.  Bug fix (did
835          not work for immediates).
836
837        * canonicalform.cc (den, deriv, operator []): explicit casts to
838          CanonicalForm added
839          (sqrt): explicit calls to CFFactory::basic removed
840
841Tue Oct 14 16:47:28 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
842
843        * canonicalform.cc (mvar, degree): slightly speeded up
844
845Fri Oct 10 10:19:07 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
846
847        * gfops.cc (gf_get_table): casts to 'char *' added to avoid
848          warnings
849
850        * int_pp.cc: superfluous arguments removed
851
852        * int_int.cc: doc fix
853
854        * int_cf.cc: doc fix
855
856        * int_rat.cc: doc fix
857
858        * int_cf.cc (den): returns 'CFFactory::basic( 1 )' instead of
859          'genOne()'
860
861        * canonicalform.cc (LC, degree( v ), tailcoeff, deriv): slightly
862          speeded up
863
864        * canonicalform.cc (Lc): new method.  Declaration added.
865        * int_cf.cc (Lc): new method.  Declaration added.
866        * int_poly.cc (Lc): new method.  Declaration added.
867
868Thu Oct  9 10:20:56 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
869
870        * cf_algorithm.cc (divides): moved from canonicalform.cc to
871          cf_algorithm.cc.  Declaration moved, too.  In all files which
872          refer to this function #include of cf_algorithm.h added.
873          (divides): doc fix
874        * canonicalform.cc (divides): moved to cf_algorithm.cc.
875          Declaration moved, too.
876
877        * canonicalform.h (Lc): new function
878
879Wed Oct  1 14:21:53 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
880
881        * cf_random.h: (factoryrandom): n defaults to zero
882
883        * cf_random.cc (factoryrandom): checks for n = zero added
884
885Tue Sep 30 10:22:43 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
886
887        * GNUmakefile.in (%.d): order of dependencies changed
888
889Mon Sep 29 08:11:42 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
890
891        * GNUmakefile.in (%.d): `factoryconf.h' added as dependency
892
893        * canonicalform.h: doc fix
894
895        * cf_ops.cc (size( CF ), size( CF, Var )): new functions.
896          Declarations added.
897
898        * fac_univar.cc: doc fix
899
900        * cf_chinese.cc: doc fix
901
902        * cf_resultant.cc: doc fix
903
904        * cf_gcd.cc (maxnorm): spurious variable `h' removed
905
906        * cf_gcd.cc (balance): slightly speeded up
907
908Fri Sep 26 12:54:41 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
909
910        * assert.h: prints the function now where the assrtion occured if
911          we are translating with gcc
912
913Thu Sep 25 13:51:01 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
914
915        * cf_gcd.cc (chinesePoly): function removed
916          (gcd_poly_univar0): slightly speeded up
917
918        * cf_gcd.cc (lcm): bug fix.  Returns zero now if f or g equals
919          zero.
920
921        * cf_gcd.cc (gcd_poly): does not call sparsemod on univariate
922          polynomials an longer
923
924        * cf_gcd.cc (vcontent): assertion added.
925
926        * cf_gcd.cc (content( CF, Variable )): slightly speeded up.
927          Assertion added.
928
929Wed Sep 24 12:35:40 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
930
931        * canonicalform.cc (deriv): speeded up
932
933Tue Sep 23 17:24:24 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
934
935        * int_int.cc: doc fix
936
937        * canonicalform.cc: doc fix
938
939Fri Sep 12 17:25:14 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
940
941        * cf_gcd.cc (isqrt): function removed
942
943        * canonicalform.cc: doc fix
944
945Wed Sep 10 15:36:15 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
946
947        * int_cf.cc (InternalCF::sign): assertion added
948
949        * int_rat.cc (InternalRational::sign): call to mpz_cmp_si()
950          replaced by call to mpz_sgn()
951        * int_pp.cc (InternalPrimePower::sign): call to mpz_cmp_si()
952          replaced by call to mpz_sgn()
953        * int_int.cc (InternalInteger::sign): call to mpz_cmp_si()
954          replaced by call to mpz_sgn()
955
956        * int_pp.cc, int_int.cc, int_rat.cc, int_poly.cc, int_cf.cc,
957          canonicalform.cc (sign): doc fix
958
959        * imm.h (imm_sign): bug fix.  imm_sign() returned 0 for sign(1)
960          when calculating in GF(q).
961        * imm.h (imm_sign): bug bug fix
962
963        * gfops.h (gf_sign): doc fix
964
965        * configure.in (expl_datadir): initialization fixed.  If
966          $expl_datadir is relative we prepend the current working
967          directory now.
968
969        * cf_gcd.cc (isqrt): function removed
970
971Tue Sep  9 09:06:17 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
972
973        * README: doc fix
974
975        * INSTALL: doc fix
976
977        * cf_globals.h: doc fix
978
979        * cf_globals.cc: #include fix, doc fix
980
981        * cf_primes.cc, fac_cantzass.cc, int_pp.cc, int_rat.cc: #include
982          fix
983
984        * cf_factor.cc: #include fix
985          (factorize): cf_glob_switches.isOn() replaced by isOn() for
986          sake of uniformity
987
988        * cf_ops.cc (swapvar_between): arguments to operator * swapped
989
990        * cf_ops.cc (swapvar_between, swapvar_rec): functions reordered
991          and declarations removed
992
993        * cf_ops.cc (swapvar_between1, swapvar_rec1, swapvar1): new
994          experimental functions, to be removed in future
995
996        * cf_chinese.cc: doc fix
997
998        * fac_multihensel.cc: #include fix
999
1000        * fac_berlekamp.cc: #include fix
1001
1002        * cf_util.cc: #include fix
1003
1004        * ffops.h: #include fix
1005
1006Mon Sep  8 12:39:09 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1007
1008        * cf_algorithm.cc (psr, psq, psqr): assertions added
1009
1010        * cf_algorithm.cc (psq, psqr): return correct values now if deg(f)
1011          < deg(g)
1012          (psr, psq, psqr): return correct values now if f = 0
1013
1014        * cf_algorithm.cc (cden): recursion terminates now for f in base
1015          domain instead for f in coefficient domain
1016
1017        * cf_map.h: doc fix
1018
1019        * cf_map.cc: doc fix
1020
1021        * cf_algorithm.h: doc fix
1022
1023        * cf_switches.h: doc fix
1024
1025        * cf_switches.cc: doc fix
1026
1027Thu Sep  4 10:19:25 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1028
1029        * cf_ops.cc: (replacevar, replacevar_between): new functions
1030        * canonicalform.h (replacevar): new declaration
1031
1032        * cf_algorithm.cc: doc fix
1033
1034        * cf_resultant.cc: doc fix
1035
1036        * cf_algorithm.cc: new file
1037          (psr, psq, psqr, cden, common_den): functions moved from
1038          cf_ops.cc to cf_algorithm.cc
1039        * cf_ops.cc (psr, psq, psqr, cden, common_den): functions moved
1040          to cf_algorithm.cc
1041        * cf_algorithm.h: declarations of functions from cf_algorithm.cc
1042          moved from canonicalform.h to cf_algorithm.h
1043        * canonicalform.h: declarations of functions from cf_algorithm.cc
1044          moved to cf_algorithm.h.  In all files which refer to these
1045          functions #include of cf_algorithm.h added.
1046        * GNUmakefile.in (basefactorysrc): cf_algorithm.cc added to
1047          distribution
1048
1049        * cf_ops.cc (apply): bug fix.  In case f.inCoeffDomain() result is
1050          now initialized to f.
1051
1052Mon Sep  1 10:47:41 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1053
1054        * canonicalform.h (resultant): declaration moved to cf_algorithm.h
1055        * cf_algorithm.h (resultant): declaration moved from
1056          canonicalform.h to cf_algorithm.h
1057
1058        * cf_ops.cc (resultant): function moved to cf_resultant.cc
1059        * cf_resultant.cc (trivialResultant): new function
1060        * cf_resultant.cc (resultant): moved from cf_ops.cc to
1061          cf_resultant.cc.  Completely rewritten.
1062
1063        * cf_ops.cc (psr): returns f now if deg(f) < deg(g)
1064
1065        * cf_resultant.cc (subResChain): new function
1066        * cf_algorithm.h (subResChain): new declaration
1067
1068        * cf_factor.cc (factorize( CanonicalFormn, bool ), sqrFree):
1069          default argument initializer from definition removed
1070
1071Fri Aug 29 09:10:28 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1072
1073        * canonicalform.cc (degree( Variable )): slightly speeded up
1074          (deriv( Variable )): slightly speeded up
1075
1076        * canonicalform.h (deriv): doc fix
1077
1078        * canonicalform.cc (deriv( Variable )): assertion added
1079          (deriv( Variable )): bug fix
1080
1081        * cf_algorithm.h: declarations of functions from cf_linsys.cc
1082          moved from canonicalform.h to cf_algorithm.h
1083        * canonicalform.h: declarations of functions from cf_linsys.cc
1084          moved to cf_algorithm.h
1085
1086        * cf_factor.cc (sqrFree( CF )): removed
1087          (sqrFree( CF, bool )): default argument initializer added
1088          (factorize( CF, bool )): default argument initializer added
1089        * cf_algorithm.h  (sqrFree( CF )): declaration removed
1090          (sqrFree( CF, bool )): default argument initializer added to
1091          declaration
1092          (factorize( CF, bool )): default argument initializer added to
1093          declaration
1094
1095        * GNUmakefile.in (basefactorysrc): cf_resultant.cc added to
1096          distribution
1097
1098        * cf_algorithm.h: declarations from cf_factor.h moved to
1099          cf_algorithm.h
1100        * cf_factor.h: declarations moved to cf_algorithm.h.  cf_factor.h
1101          removed.  All #include statements changed.
1102        * GNUmakefile.in (basefactoryincl): cf_factor.h removed from
1103          distribution
1104        * canonicalform.h: declarations of functions from cf_factor.cc
1105          removed.  In all files which refer to these functions #include
1106          of cf_algorithm.h added.
1107
1108        * cf_algorithm.h: new file
1109        * cf_algorithm.h: declarations from cf_chinese.h moved to
1110          cf_algorithm.h
1111        * cf_chinese.h: declarations moved to cf_algorithm.h.
1112          cf_chinese.h removed.  All #include statements changed.
1113        * GNUmakefile.in (basefactoryincl): cf_chinese.h removed from
1114          distribution.  cf_algorithm.h added to distribution.
1115
1116Thu Aug 28 09:21:15 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1117
1118        * cf_map.h: superfluous '#include "templates/ftmpl_functions.h"'
1119          removed
1120
1121Mon Aug  4 16:57:27 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1122
1123        * canonicalform.cc (sqrt): doc fix
1124
1125Fri Aug  1 11:06:58 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1126
1127        * cf_map.cc (operator << ( ostream& s, const CFMap & m )):
1128          rewritten
1129
1130        * configure.in: checks for compiler characteristic are done with C
1131          instead of C++
1132
1133Thu Jul 31 14:59:07 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1134
1135        * fac_univar.cc (kBound): bound fixed
1136
1137        * canonicalform.h (sqrt): doc fix
1138
1139        * canonicalform.cc (sqrt): immediate case completely rewritten
1140
1141Wed Jul 30 09:40:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1142
1143        * cf_linsys.cc (bound): off by one errors fixed
1144        (linearSystemSolve): off by one errors fixed
1145
1146        * cf_linsys.cc (bound): debug output added
1147
1148        * cf_linsys.cc (bound): returns now bound + 1
1149
1150        * canonicalform.cc (sqrt): sqrt(0) works now
1151        (sqrt): assertion added
1152        (sqrt): 'int h' changed to 'long long h'.  Casts added.
1153
1154        * cf_defs.h (SW_RATIONAL, SW_QUOTIENT, SW_SYMMETRIC_FF,
1155          SW_BERLEKAMP, SW_FAC_USE_BIG_PRIMES, SW_FAC_QUADRATICLIFT,
1156          SW_USE_EZGCD, SW_USE_SPARSEMOD): #defines replaced by 'const
1157          int's
1158
1159        * canonicalform.cc (fillVarsRec, getNumVars, getVars): moved to
1160          cf_ops.cc
1161        * cf_ops.cc (fillVarsRec, getNumVars, getVars): moved from
1162          canonicalform.cc to cf_ops.cc
1163
1164        * cf_ops.cc: doc fix
1165
1166Thu Jul 24 12:44:46 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1167
1168        * GNUmakefile.in (distfiles): bin/folding.el and bin/fold-docu.el
1169          added
1170
1171Wed Jul 23 09:45:35 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1172
1173        * cf_map.h (class CFMap): references to List<CanonicalForm>
1174          replaced by CFList
1175
1176        * cf_map.cc (CFMap( CFList )): 'P.append()' replaced by 'P.insert()'
1177
1178        * cf_chinese.cc (chineseRemainder( CF, ... )): operator % replaced
1179          by function mod()
1180
1181        * README: doc fix
1182
1183Tue Jul 22 11:04:30 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1184
1185        * cf_map.cc (CFList, CFListIterator, MPListIterator): references to
1186          List<CanonicalForm>, ListIterator<CanonicalForm>, and
1187          ListIterator<MapPair> replaced by their respective typedefs
1188
1189        * canonicalform.cc (initCanonicalForm): initialization of switches
1190          removed since they are initialized by constructor
1191
1192        * bin/folding.el: new file
1193        * bin/fold-docu.el: new file
1194        * bin/fold-docu.el (fold-docu): works now for all fold marks
1195        * README: doc fix
1196
1197        * cf_switches.h (CFSwitchesMax): new constant
1198        * cf_switches.h (class CFSwitches): number of switches replaced by
1199          references to 'const int CFSwitchesMax'
1200        * cf_switches.cc (CFSwitches): number of switches replaced by
1201          references to 'const int CFSwitchesMax'
1202
1203
1204    **************** Factory Version 1.3a released ****************
1205
1206       
1207        * configure.in: doc fix
1208
1209        * INSTALL: doc fix
1210
1211        * NEWS: doc fix
1212
1213        * README: doc fix
1214
1215Mon Jul 21 12:58:04 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1216
1217        * sm_sparsemod.cc (internalSparsemod): sparsemod() renamed to
1218          internalSparsemod()
1219          (sparsemod): new function which is a simple wrapper around
1220          internalSparsemod()
1221
1222        * GNUmakefile.in (distfiles): NEWS and INSTALL added to
1223          distribution
1224
1225        * configure.in (factory_version): version number incremented
1226        * INSTALL: version number incremented
1227        * README: version number incremented
1228
1229        * configure.in: doc fix
1230
1231        * GNUmakefile.in (dist): changed suffix of distribution suffix
1232          (distclean): changed suffix of distribution suffix
1233
1234        * NEWS: doc fix
1235
1236        * INSTALL: doc fix
1237
1238        * INSTALL: new file
1239
1240        * README: doc fix
1241
1242        * GNUmakefile.in (installgftables): bug fixes undone
1243        (installgftables): completely rewritten
1244
1245Sat Jul 19 08:57:34 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1246
1247        * GNUmakefile.in (installgftables): bug fix
1248
1249        * GNUmakefile.in (dist): output is more beautyful now
1250
1251        * cf_gcd.cc (gcd_poly): call to sparsemod() added
1252
1253        * cf_ops.cc (resultant): assertion added
1254        (resultant): new variable flipFactor
1255        (resultant): handling of trivial cases fixed
1256        (resultant): some other minor bug fixes
1257
1258        * cf_ops.cc (resultant): doc fix
1259
1260        * README: doc fix
1261
1262        * NEWS: doc fix
1263
1264        * GNUmakefile.in (uninstallgftables): brute force ('rm -rf')
1265          replaced by a safer variant
1266
1267Thu Jul 17 11:05:04 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1268
1269        * sm_util.cc: doc fix
1270        (interpol): doc fix
1271
1272        * sm_util.h (REArray): bug fix
1273
1274        * sm_sparsemod.cc: new file
1275
1276        * GNUmakefile.in (basefactoryincl): files sm_util.h and
1277          sm_sparsemod.h added
1278          (basefactorysrc): files sm_util.cc and sm_sparsemod.cc added
1279
1280        * NEWS: new file
1281
1282Wed Jul 16 11:35:06 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1283
1284        * .cvsignore (config.cache): new entry
1285
1286        * canonicalform.cc (CanonicalForm::ilog2): new method
1287        * canonicalform.h (class CanonicalForm): new declaration of ilog2
1288        (ilog2): new function
1289        * int_cf.cc (InternalCF::ilog2): new method
1290        * int_cf.h (class InternalCF): new declaration of ilog2
1291        * int_int.cc (InternalInteger::ilog2): new method
1292        * int_int.h (class InternalInteger): new declaration of ilog2
1293        * fac_univar.cc (norm, dnorm): function dnorm replaced by norm
1294        (kBound): uses ilog2() and norm() now
1295
1296Tue Jul 15 14:47:53 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1297
1298        * sm_util.h (REArray): new typedef.  All references to
1299          Array<REvaluation> changed to REArray.
1300
1301        * sm_sparsemod.h: new file
1302
1303Mon Jul 14 10:00:59 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1304
1305        * sm_util.h: doc fix
1306
1307        * sm_util.h (dinterpol): bug fix of declaration
1308
1309        * sm_util.cc: doc fix
1310
1311        * sm_util.cc: new file
1312
1313        * sm_util.h: new file
1314
1315        * int_cf.h (OBJDEL): spurious macro OBJDEL removed
1316
1317        * README: new file
1318        * GNUmakefile.in (distfiles): README added to distribution
1319
1320        * canonicalform.cc (initCanonicalForm): initialization of
1321          SW_USE_SPARSEMOD added
1322
1323        * canonicalform.cc (CanonicalForm::degree( Variable )): doc fix
1324
1325        * configure.in: doc fix
1326
1327        * configure.in (libmem, headerfactory, factoryconf): output
1328          variables removed
1329
1330        * configure.in (templatedir): initialization fixed
1331
1332Fri Jul 11 09:48:26 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1333
1334        * canonicalform.cc (CanonicalForm::degree): doc fix
1335
1336        * GNUmakefile.in: dependencies checked
1337
1338        * GNUmakefile.in: doc fix
1339
1340        * GNUmakefile.in (.PHONY): phony targets updated
1341
1342        * GNUmakefile.in (clean): core and *~ will not be removed any
1343          longer
1344
1345        * GNUmakefile.in (depend): dependencies config.h and factoryconf.h
1346          removed
1347
1348        * GNUmakefile.in (dist): 'chmod 777' removed
1349
1350        * GNUmakefile.in (gengftables): dependency on 'all' replaced by
1351          dependency on $(libfactory) and libcfmem.a
1352
1353        * GNUmakefile.in (gengftables.o): dependency cf_util.h removed
1354        (gengftables.o): dependencies factoryconf.h and config.h added
1355
1356        * GNUmakefile.in (installcf, installgftables): bug fix
1357        (uninstallcf): bug fix
1358
1359        * GNUmakefile.in (libmem, headerfactory, factoryconf): variables
1360          removed.  All references changed (to 'libcfmem.a', 'factory.h',
1361          and 'factoryconf.h', resp.).
1362
1363        * GNUmakefile.in (realmaintainer-clean): target removed
1364
1365        * GNUmakefile.in (templatesrc, templateincl): file
1366          ftmpl_functions.h moved from $(templateincl) to $(templatesrc)
1367
1368        * GNUmakefile.in (TESTLDFLAGS): flag '-L.' moved to target
1369          gengftables
1370        (gengftables): '-L.' moved from $(TESTLDFLAGS) to command
1371
1372        * GNUmakefile.in (TESTCXXFLAGS): new variable
1373        (gengftables.o): references to $(LIBCXXFLAGS) replaced by
1374          references to $(TESTCXXFLAGS)
1375
1376Tue Jul  1 14:26:29 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1377
1378        * GNUmakefile.in (dist): use ln instead of cp to build
1379          distribution
1380
1381        * canonicalform.cc (initCanonicalForm, mmInit): initialize memory
1382          managment if compiled with Singular.  New declaration of
1383          mmInit().
1384
1385        * cf_random.cc (RandomGenerator): definitions of 'const long int'
1386          in class for mac removed.  Instead, they are initialized in the
1387          constructor.
1388
1389        * cf_random.h (factoryrandom, factoryseed): declarations marked as
1390          public
1391
1392Mon Jun 30 15:38:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1393
1394        * GNUmakefile.in (LIBCFLAGS, LIBCXXFLAGS, TMPLCXXFLAGS): option
1395          -Wall replaced by references to $(WARNFLAGS)
1396          (WARNFLAGS): new variable
1397
1398        * imm.h (MINIMMEDIATELL, MAXIMMEDIATELL): initialization for mac
1399          added which does not like a 'LL' suffix
1400
1401        * templates/ftmpl_matrix.cc: include paths for mac added
1402        * templates/ftmpl_list.cc: include paths for mac added
1403        * templates/ftmpl_factor.cc: include paths for mac added
1404        * templates/ftmpl_array.cc: include paths for mac added
1405        * factory.template: include paths for mac added
1406        * canonicalform.h: include paths for mac added
1407        * ftmpl_inst.cc: include paths for mac added
1408        * cf_gcd.cc: include paths for mac added
1409        * cf_map.cc: include paths for mac added
1410        * cf_map.h: include paths for mac added
1411        * fac_ezgcd.cc: include paths for mac added
1412
1413        * configure: checked into RCS
1414        * readcf.cc: checked into RCS
1415
1416Fri Jun 27 10:33:29 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1417
1418        * bin/makeheader: checked into RCS
1419        * bin/install-sh: checked into RCS
1420        * bin/mkinstalldirs: checked into RCS
1421
1422Thu Jun 26 16:06:39 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1423
1424        * GNUmakefile.in: doc fix
1425
1426Wed Jun 25 10:02:51 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1427
1428        * configure.in (enable_gmp): bug fix
1429        (CPPFLAGS, LDFLAGS): bug fix
1430
1431Tue Jun 24 11:15:25 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1432
1433        * configure.in (with_builtingmp): command line option
1434          --with-builtingmp removed.  All references to with_builtingmp
1435          and some additional code to deal with the command line options
1436          --with-gmp and --with-builtin-gmp removed, too.
1437
1438        * configure.in (enable_assertions): disabled by default
1439
1440        * configure.in (enable_gmp): with_gmp and with_builtin_gmp are set
1441          to '$(includedir)' if command line option --enable-gmp is given
1442
1443        * configure.in: fixes in configure's messages
1444
1445        * configure.in: doc fix
1446
1447Mon Jun 23 12:44:50 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1448
1449        * config.h.in: doc fix
1450
1451        * factory.template: doc fix
1452
1453        * factoryconf.template: doc fix
1454
1455Fri Jun 20 12:09:00 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1456
1457        * templates/: all files prefixed with 'ftmpl_'.  All #include
1458          statements changed.
1459        * GNUmakefile.in (templatesrc, templateincl): all files prefixed
1460          with 'ftmpl_'
1461
1462        * ftmpl_inst.cc, tmpl_inst.cc: tmpl_inst.cc renamed to
1463          ftmpl_inst.cc
1464        * GNUmakefile.in: all references to tmpl_inst replaced by
1465          references to ftmpl_inst
1466
1467Thu Jun 19 14:33:17 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1468
1469        * config.h.in: doc fix
1470
1471        * factoryconf.template: doc fix
1472
1473        * headers of almost all source files fixed
1474
1475Thu Jun 12 13:12:49 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1476
1477        * cf_globals.cc: doc fix
1478
1479Fri Jun  6 09:38:05 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1480
1481        * configure.in: some stupid warnings removed if "dangerous"
1482          combinations of with's/enable's are specified on commandline.
1483          Some other fixes in configure's messages.
1484
1485        * configure.in (enable_memdebug): code removed which sets
1486          enable_memdebug to 'normal' since this is really never tested
1487
1488        * configure.in (with_gmp, with_builtingmp): new command line
1489          options.  Rest of configure.in adapted to new scheme of
1490          specifying where gmp lives.
1491
1492        * configure.in: doc fix
1493
1494        * GNUmakefile.in (distsrc, clean): gengftables added to
1495          distribution
1496          (distfiles): ChangeLog added to distribution
1497
1498Thu Jun  5 15:03:48 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1499
1500        * configure.in (enable_debugoutput, enable_timing): dependency on
1501          with_Singular removed so '--with-Singular --enable-debugoutput'
1502          and '--with-Singular --enable-timing' are possible
1503
1504        * GNUmakefile.in (gengftables.o): check added which makes make
1505          complain if factory was not configured in the right way
1506
1507        * configure.in: checks on sizeof(int) == sizeof(void *) == 4
1508          removed
1509
1510        * debug.h: dependency on #define NDEBUG removed
1511
1512        * factoryconf.template: doc fix
1513
1514        * config.h.in: added to distribution as source file.  config.h.in
1515          is not created from acconfig.h any longer.
1516        * acconfig.h: removed from distribution
1517        * GNUmakefile.in: ($(srcdir)/config.h.in, $(srcdir)/stamp-h.in,
1518          realmaintainerclean, dist, distfiles): changed to reflect the
1519          changes described above
1520
1521        * config.h.in (INCL_CONFIG_H): new #define to prevent multiple
1522          inclusion of config.h
1523
1524        * GNUmakefile.in ($(srcdir)/configure): make will not complain
1525          about a missing autoconf any longer
1526
1527        * canonicalform.cc (operator>>): returns 0 again if #define
1528          SINGULAR and #define NOSTREAMIO are switched on
1529
1530Before Mon Jun  4 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de>
1531
1532        This is a list of most of the changes I made after I took the
1533        responsibility for factory development and before I started to
1534        update the ChangeLog regularily.  It is unlikely to be complete.
1535
1536        Besides minor changes at "source code level" (bug fixes, new
1537        features) which are not really visible to the user in general
1538        there are quite a lot of changes at "organization level" (aka
1539        preprocessor level) and at "distribution level" (configure,
1540        Makefile).
1541
1542
1543        First, the changes at distribution level:
1544
1545        * bin: some useful/necessary scripts added to distribution
1546        * install-sh: moved to bin
1547
1548        * ChangeLog: added to distribution
1549
1550        * configure.in: totally rewritten
1551
1552        * config.h.in, conf.h.in: conf.h.in replaced by a totally
1553          rewritten config.h.in.  Furthermore, config.h is now explicitly
1554          included in allmost every source file of the distribution.
1555        * factoryconf.template: new file. factoyconf.h is included instead
1556          of config.h in all source files which are not translated but
1557          installed (e.g. templates).
1558
1559        * factory.template, factory.h: factory.h replaced by
1560          factory.template since makeheader is now included in
1561          the distribution
1562        * factory.template: rewritten to new makeheader syntax
1563
1564        * factory.template, singfactory.h: Singular stuff moved from
1565          singfactory.h to factory.template.  Wrapped by #ifdef
1566          SINGULAR.
1567        * singfactory.h: removed from distribution
1568
1569        * gengftables.cc: code for generating gftables added to
1570          distribution
1571
1572        * GNUmakefile.in, Makefile.in: Makefile.in replaced by a totally
1573          rewritten GNUmakefile.in
1574
1575        * INSTALL: removed from distribution since not up to date
1576
1577        * memman.h, mmalloc.c, mmallocs.c, mmheap.c, mmprivate.h,
1578          mmutil.c, mmallocb.c, mmblock.c, mminit.c, mmspec.c: new memory
1579          manager added to distribution
1580
1581        * mpext.cc, mpext.h, mpfactory.h: removed from distribution.  No
1582          more MP support.
1583        * config.h.in (MULTIPROTOCOL): #define MULTIPROTOCOL removed
1584        * int_int.h (class InternalInteger): declarations dependent on
1585          #define MULTIPROTOCOL removed
1586        * int_rat.h (class InternalRational): declarations dependent on
1587          #define MULTIPROTOCOL removed
1588
1589        * readcf.cc: added to distribution since not all users have
1590          bison available
1591
1592
1593        Now for the changes at organization level:
1594        If we refer to the "DEBOUT macros", the "ASSERT macros", or the
1595        "TIMING macros" we mean one (or more) of the macros defined in
1596        debug.h, assert.h, and timing.h, resp.
1597
1598        * assert.h (NOASSERT, NDEBUG): #define NDEBUG to switch off
1599          assertions replaced by #define NOASSERT.  For sake of backward
1600          compatibility NDEBUG works, too.
1601
1602        * assert.h (DEBINCLEVEL, DEBDECLEVEL, DEBOUTSL, DEBOUT, DEBOUTLN):
1603          DEBOUT macros moved to debug.h
1604        * assert.cc: renamed to debug.cc
1605        * debug.h, debug.cc: new files.  DEBOUT macros moved from
1606          assert.h/assert.cc to debug.h/debug.cc.  All source files which
1607          need these macros include debug.h.
1608
1609        * assert.h (PVIRT_VOID, PVIRT_INTCF, PVIRT_BOOL, PVIRT_INT,
1610          PVIRT_CHARCC): PVIRT_*-macros moved from int_cf.h to assert.h
1611        * int_cf.h (PVIRT_VOID, PVIRT_INTCF, PVIRT_BOOL, PVIRT_INT,
1612          PVIRT_CHARCC): PVIRT_*-macros moved to assert.h
1613
1614        * assert.h (__ASSERT, __STICKYASSERT): the preprocessor instead of
1615          fprintf() pastes the message into the format string now
1616
1617        * assert.h (__ASSERT1, ASSERT1, STICKYASSERT1): new macros
1618
1619        * assert.h (__WARN, WARN, STICKYWARN): new macros
1620
1621        * canonicalform.cc (operator>>): dependency on #define SINGULAR
1622          removed
1623
1624        * cf_defs.h (INCL_CF_DEFS_H, incl_cf_defs_H): #define
1625          incl_cf_defs_H renamed to #define INCL_CF_DEFS_H so
1626          cf_defs.h is included only once
1627
1628        * cf_factor.cc (factorize): dependency on #define MULTIFACTOR
1629          removed
1630
1631        * cf_factory.cc (CFFactory::basic( int, int )): error message
1632          changed to call of ASSERT macros
1633        * fac_util.cc: (crossprod): error message changed to call of
1634          ASSERT macros
1635        * int_cf.cc: several error messages changed to calls of ASSERT
1636          macros
1637        * int_cf.h (InternalCF::InternalCF( InternalCF& )): error message
1638          changed to call of ASSERT macros
1639        * int_poly.cc (InternalPoly::InternalPoly( InternalPoly& )): error
1640          message changed to call of ASSERT macros
1641        * templates/array.cc (Array<T>::operator[], Array<T>::operator+=):
1642          error messages changed to calls of ASSERT macros
1643        * templates/list.cc (List<T>::getFirst, List<T>::getLast,
1644          ListIterator<T>::getItem): error messages changed to calls of
1645          ASSERT macros
1646
1647        * cf_gcd.cc: debug output changed to calls of DEBOUT macros
1648        * cf_linsys.cc: debug output rewritten and changed to calls of
1649          DEBOUT macros
1650        * fac_berlekamp.cc (QPrintFF, QPrintGF): definition and calls of
1651          QPrintFF(), QPrintGF() wrapped by #ifdef DEBUGOUTPUT
1652        * fac_univar.cc: debug output rewritten
1653          (hprint): calls to hprint() wrapped by calls to #define
1654          DEBOUTHPRINT, which definition depends on #define DEBUGOUTPUT
1655          (instead of NDEBUG, as before).  All callers changed.
1656
1657        * cf_linsys.cc: superfluous #define TIMING removed
1658        * fac_distrib.cc: superfluous #undef DEBUGOUTPUT removed
1659        * fac_ezgcd.cc: some superfluous #defines (DEBUGOUTPUT, TIMING)
1660          and #includes removed
1661        * fac_multihensel.cc: some superfluous #defines (DEBUGOUTPUT, TIMING)
1662          removed
1663        * fac_multivar.cc: some superfluous #defines (DEBUGOUTPUT, TIMING)
1664          removed
1665        * fac_univar.cc: some superfluous #defines (DEBUGOUTPUT, TIMING)
1666          and #includes removed
1667
1668        * config.h.in (GFTABLEDIR): new #define
1669        * gfops.cc (gf_get_table): uses #define GFTABLEDIR to get path
1670          to the GF(q) tables
1671
1672        * config.h.in (MDEBUG, NOASSERT, TIMING, DEBUGOUTPUT): new
1673          #defines
1674
1675        * config.h.in (NOSTREAMIO): new #define NOSTREAMIO to switch off
1676          stream IO.  Operators <<, >>, and related stuff wrapped by
1677          #ifndef NOSTREAMIO.
1678
1679        * debug.cc (deb_level, level_msg, deb_inc_level):
1680          deb_inc_level()'s output made more pretty at time of first call
1681
1682        * debug.h (DEBOUT, DEBOUTLN): slightly modified so they print
1683          "objects" instead of only one "msg" and one "object".  All
1684          callers changed.
1685
1686        * debug.h (DEBUGOUTPUT): #define DEBUGOUTPUT is switched off now
1687          if #define NDEBUG is switched on
1688
1689        * fac_univar.cc (ZFactorizeUnivariate): timing stuff changed to
1690          calls of TIMING macros
1691
1692        * gmpext.h: references to #define INCL_GCDEXT_H replaced by
1693          references to #define INCL_GMPEXT_H
1694
1695        * initgmp.cc (initializeGMP): dependency on #define SINGULAR
1696          removed
1697
1698        * mmallocb.c (MM_TEST, TEST): references to #define TEST
1699          replaced by references to #define MM_TEST
1700
1701        * readcf.h: '#include <stdio.h>' replaced by '#include <iostream.h>'
1702
1703        * readcf.y: dependency on #define COMEAU removed
1704
1705        * templates/matrix.cc (ASSERT): definition of ASSERT macros
1706          replaced by inclusion of factoryconf.h
1707
1708        * timing.h (HZ): new #define to calculate ticks per second in a
1709          more portable way.  All references changed.
1710
1711        * timing.h (TIMING_DEFINE_PRINT, TIMING_END_AND_PRINT): stream IO
1712          changed to std IO
1713
1714        * timing.h (TIMING_END_AND_PRINT): new macro
1715
1716
1717        Last not least, changes at source code level:
1718
1719        * canonicalform.cc (mapinto): fixed mapping from int to GF(q)
1720
1721        * cf_factor.cc (sqrFree( CanonicalForm, boolean )): new
1722          function which sorts output if desired
1723        * cf_factor.cc (sqrFree( CanonicalForm )): changed to call new
1724          sqrFree()
1725        * canonicalform.h, cf_factor.h (sqrFree( CanonicalForm, boolean )):
1726          new declaration
1727        * fac_sqrfree.cc (compareFactors, sortCFFList): new functions used
1728          by new sqrFree()
1729        * fac_sqrfee.h (sortCFFList): new declaration
1730
1731        * cf_defs.h (SW_USE_SPARSEMOD): new switch
1732
1733        * cf_globals.cc (factoryVersion): new external
1734        * cf_globals.h (factoryVersion): new declaration
1735        * config.h.in (FACTORYVERSION): new #define
1736        * factory.template: '#include cf_globals.h' added because of
1737          version string
1738
1739        * cf_linsys.cc (linearSystemSolve, determinant, determinant2):
1740          typedef int_ptr added
1741          (linearSystemSolve, determinant, determinant2): 'new (int*)[..]'
1742          replaced by 'new int_ptr[..]'
1743        * templates/matrix.h (Matrix<T>::T_ptr): new typedef
1744        * templates/matrix.cc (Matrix<T>::Matrix( int, int ),
1745          Matrix<T>::Matrix( Matrix<T> ), Matrix<T>::operator=): 'new (T*)[..]'
1746          replaced by 'new T_ptr[..]'
1747
1748        * cf_iter.h: superfluous '#include <iostream.h>' removed
1749        * cf_factor.h: superfluous '#include <iostream.h>' removed
1750        * cf_reval.h: superfluous '#include <iostream.h>' removed
1751        * memutil.c: superfluous '#include <stdio.h>' removed
1752        * mmalloc.c: superfluous '#include <stdio.h>' removed
1753
1754        * cf_random.cc (RandomGenerator): new class
1755          (RanGen): new static
1756          (factoryrandom, factoryseed): calls to stdlib random generator
1757          replaced by methods of class RandomGenerator
1758
1759        * cf_switches.h (RATIONAL): superfluous #define RATIONAL removed
1760        * int_int.cc (IntInt): superfluous #define IntInt removed
1761        * int_pp.cc (IntPP): superfluous #define IntPP removed
1762
1763        * fac_univar.cc (initHG, ZFactorizeUnivariate): STICKYWARNings
1764          added because of some strange errors which occur in these
1765          functions
1766
1767        * fac_univar.cc (kBound): cast to double added in calculation of
1768          the bound
1769          (UnivariateQuadraticLift): cast to double added in calculation
1770          of no_iter
1771
1772        * fac_univar.cc (max_fp_fac, MAX_FP_FAC): '#define MAX_FP_FAC'
1773          replaced by 'const int max_fp_fac'.  All references changed.
1774
1775        * fac_univar.cc (ZFactorizeUnivariate): superfluous declaration of
1776          'CFFList G' removed.  Some trivial structural changes.  Test on
1777          'D != 0' (before deleting D) removed.
1778
1779        * gfops.h (gf_gf2ff, gf_isff): declarations marked as public for
1780          Singular
1781        * factory.template: '#include "gfops.h"' added
1782
1783        * gfops.cc (gf_get_table): gf_table[gf_q] is guaranteed to be 0
1784
1785        * gfops.cc (gf_get_table): rewritten.  Major changes: copies
1786          Singulars tables if these are present instead of reading from
1787          disk.  Uses standard IO instead of stream IO to read the tables.
1788        * singext.h (nfCharQ, nfM1, nfMinPoly, nfPlus1Table): declarations
1789          of Singular objects added to copy Singulars GF(q) tables
1790
1791        * gfops.cc (gf_get_table): length of temporary buffer replaced by
1792          'const int gf_maxbuffer'
1793
1794        * gfops.cc (gf_isff): rewritten
1795
1796        * gfops.cc (gf_maxtable, MAXTABLE): '#define MAXTABLE' replaced by
1797          'const int gf_maxtable'.  All references changed.
1798        * gfops.cc (gf_valid_combination): 'int m' replaced by references
1799          to gf_maxtable
1800
1801        * gfops.cc (intVec2CF): new function
1802
1803        * gfops.h (gf_mipo): new declaration
1804
1805        * imm.h (class InternalCF): superfluous declaration of class
1806          InternalCF removed
1807
1808        * imm.h (imm_intval): convertion from GF(q) to integer added
1809
1810        * int_int.cc (InternalInteger::genOne): Ruedigers last fryday
1811          afternoon fix
1812
1813        * variable.cc (Variable::name): casts to int added
1814
1815        * variable.cc (Variable::Variable( char ),
1816          Variable::Variable( int, char ), rootOf): 'delete ...' changed
1817          to 'delete [] ...' where necessary
Note: See TracBrowser for help on using the repository browser.