source: git/factory/ChangeLog @ 3af3ca

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