source: git/factory/ChangeLog @ 1101a8

fieker-DuValspielwiese
Last change on this file since 1101a8 was fd68165, checked in by Janko Boehm <boehm@…>, 11 years ago
Fixed name conflict INT64 and wrong type
  • Property mode set to 100644
File size: 58.9 KB
RevLine 
[47d83a]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
[335eee]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
[6c5d86]13Thu Nov  7 11:29:33 MET 2002 Hans Schoenemann <hannes@mathematik.uni-kl.de>
14        * interface to NTL
15        * many fixes
16
[72a88c]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
[f79b94c]212000-09-02  Olaf Bachmann  <obachman@mathematik.uni-kl.de>
22
23        * configure.in, etc: support for omalloc
24
[a43bd1]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
[6fe843]30Tue Feb 16 19:00:03 1999  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
31
[2e6e424]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
[6fe843]47        * GNUmakefile.in (ftestsrc, ftestincl): ntl-stuff added
48          (ftestm4src): `gcd.ntl.m4', `revert.m4' added
49
[073d2e]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
[e14265]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
[147c2a]80Mon Jun 29 12:41:40 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
81
[e14265]82        * templates/ftmpl_functions.h: doc fixes
83
[147c2a]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
[588842]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
[c513268]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
[140a96]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
[588842]191Mon May 11 11:36:22 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
192
[fd68165]193        * config.h.in (FACTORY_INT64): unused declarations for MetroWerks removed
[588842]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
[fd68165]231        * config.h.in (FACTORY_INT64): new typedef for Metroworks compiler
[588842]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
[469bce]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
[e0fb8d3]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
[e1fc2d]263    **************** <<< changes in branch `factory-gcd' ****************
264
[e0fb8d3]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
[e1fc2d]311    **************** >>> changes in branch `factory-gcd' ****************
312
[195424]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
[e0fb8d3]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
[195424]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
[e0fb8d3]371Fri Feb 27 10:24:22 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
372
[e1fc2d]373    **************** <<< changes in branch `factory-gcd' ****************
374
[e0fb8d3]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
[e1fc2d]433    **************** >>> changes in branch `factory-gcd' ****************
434
[195424]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
[e0fb8d3]440Tue Feb 10 10:47:04 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
441
442        * cf_switches.h: doc fix
443
[abc625]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
[e0fb8d3]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
[5f6df6f]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
[cd5f35e]505Tue Jan 13 14:56:42 1998  Olaf Bachmann  <obachman@mathematik.uni-kl.de>
506
[5f6df6f]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.
[cd5f35e]510
[9189ab6]511Tue Jan  6 11:01:23 1998  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
512
513        * .cvsignore (stamp-h): entry removed
514
[2819fd]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
[19a116]552Tue Dec  9 10:03:07 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
553
[2819fd]554        * GNUmakefile.in (.PHONY): dependencies `$(srcdir)/winnt/factory.h'
555          and `$(srcdir)/winnt/factoryconf.h' added
556
[19a116]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
[fd68165]573        * config.h.in (FACTORY_INT64): new define
[19a116]574
575        * bin/makeheader.pl: new file
576
577        * int_poly.cc (comparecoeff): unused argument `acoeff' removed
578
[08d447]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
[fd68165]601        * config.h.in: new typedef FACTORY_INT64 for 64 bit integer type of various
[08d447]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
[fd68165]608        * ffops.h: now uses FACTORY_INT64 instead of long long int
[08d447]609
[fd68165]610        * ffops.cc: now uses FACTORY_INT64 instead of long long int
[08d447]611
[fd68165]612        * imm.h: now uses FACTORY_INT64 instead of long long int
[08d447]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
[2819fd]661        * canonicalform.h (class CanonicalForm): inline method hasGcd()
[08d447]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.
[2819fd]669          (comparecoeff): assertion moved into `if' branch
[08d447]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
[b0e3ad8]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
[eb17a8d]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
[650f2d8]922        * cf_assert.h: prints the function now where the assrtion occured if
[eb17a8d]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
[2819fd]928          (gcd_poly_univar0): slightly speeded up
[eb17a8d]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
[741512c]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
[6b76c2]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
[9a7a66]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
[eb17a8d]1086          (deriv( Variable )): slightly speeded up
[9a7a66]1087
1088        * canonicalform.h (deriv): doc fix
1089
1090        * canonicalform.cc (deriv( Variable )): assertion added
[eb17a8d]1091          (deriv( Variable )): bug fix
[9a7a66]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
[93a9ec]1153Wed Jul 30 09:40:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1154
[9a7a66]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
[93a9ec]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
[e68db8]1195Tue Jul 22 11:04:30 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1196
[93a9ec]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       
[e68db8]1219        * configure.in: doc fix
1220
1221        * INSTALL: doc fix
1222
1223        * NEWS: doc fix
1224
1225        * README: doc fix
1226
[ddc780]1227Mon Jul 21 12:58:04 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1228
[e68db8]1229        * sm_sparsemod.cc (internalSparsemod): sparsemod() renamed to
1230          internalSparsemod()
1231          (sparsemod): new function which is a simple wrapper around
1232          internalSparsemod()
1233
[ddc780]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
[23f23ff]1257Sat Jul 19 08:57:34 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1258
[ddc780]1259        * GNUmakefile.in (installgftables): bug fix
[23f23ff]1260
[ddc780]1261        * GNUmakefile.in (dist): output is more beautyful now
1262
1263        * cf_gcd.cc (gcd_poly): call to sparsemod() added
[23f23ff]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
[ddc780]1281        * sm_util.cc: doc fix
1282        (interpol): doc fix
1283
[23f23ff]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
[92ea79]1294Wed Jul 16 11:35:06 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1295
[23f23ff]1296        * .cvsignore (config.cache): new entry
1297
[92ea79]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
[23f23ff]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
[ddc780]1313        * sm_sparsemod.h: new file
1314
[23f23ff]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
[249c85]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
[9ba1f91]1394          managment if compiled with Singular.  New declaration of
1395          mmInit().
[249c85]1396
[23f23ff]1397        * cf_random.cc (RandomGenerator): definitions of 'const long int'
1398          in class for mac removed.  Instead, they are initialized in the
1399          constructor.
[249c85]1400
1401        * cf_random.h (factoryrandom, factoryseed): declarations marked as
1402          public
1403
[95fedc]1404Mon Jun 30 15:38:08 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1405
[29b9f3]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
[1c00d6]1411          added which does not like a 'LL' suffix
[29b9f3]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
[95fedc]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
[aa7a315]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
[e0ddbb]1443Tue Jun 24 11:15:25 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1444
[aa7a315]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.
[e0ddbb]1449
[aa7a315]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
[e0ddbb]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
[6c02a5]1491Fri Jun  6 09:38:05 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1492
[e0ddbb]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.
[234362]1496
[e0ddbb]1497        * configure.in (enable_memdebug): code removed which sets
[6c02a5]1498          enable_memdebug to 'normal' since this is really never tested
1499
[e0ddbb]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.
[234362]1503
1504        * configure.in: doc fix
1505
[e0ddbb]1506        * GNUmakefile.in (distsrc, clean): gengftables added to
[234362]1507          distribution
[e0ddbb]1508          (distfiles): ChangeLog added to distribution
[6c02a5]1509
1510Thu Jun  5 15:03:48 1997  Jens Schmidt  <schmidt@mathematik.uni-kl.de>
1511
[e0ddbb]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
[6c02a5]1515
[e0ddbb]1516        * GNUmakefile.in (gengftables.o): check added which makes make
[6c02a5]1517          complain if factory was not configured in the right way
1518
[e0ddbb]1519        * configure.in: checks on sizeof(int) == sizeof(void *) == 4
1520          removed
[6c02a5]1521
[e0ddbb]1522        * debug.h: dependency on #define NDEBUG removed
[6c02a5]1523
1524        * factoryconf.template: doc fix
1525
[e0ddbb]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
[234362]1529        * GNUmakefile.in: ($(srcdir)/config.h.in, $(srcdir)/stamp-h.in,
[e0ddbb]1530          realmaintainerclean, dist, distfiles): changed to reflect the
1531          changes described above
[234362]1532
[e0ddbb]1533        * config.h.in (INCL_CONFIG_H): new #define to prevent multiple
[234362]1534          inclusion of config.h
[6c02a5]1535
1536        * GNUmakefile.in ($(srcdir)/configure): make will not complain
1537          about a missing autoconf any longer
1538
[e0ddbb]1539        * canonicalform.cc (operator>>): returns 0 again if #define
1540          SINGULAR and #define NOSTREAMIO are switched on
1541
[db12c5]1542Before Mon Jun  4 1997 Jens Schmidt <schmidt@mathematik.uni-kl.de>
1543
[95fedc]1544        This is a list of most of the changes I made after I took the
[db12c5]1545        responsibility for factory development and before I started to
[234362]1546        update the ChangeLog regularily.  It is unlikely to be complete.
1547
[95fedc]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).
[234362]1553
1554
1555        First, the changes at distribution level:
1556
[95fedc]1557        * bin: some useful/necessary scripts added to distribution
[234362]1558        * install-sh: moved to bin
1559
[95fedc]1560        * ChangeLog: added to distribution
[234362]1561
1562        * configure.in: totally rewritten
1563
[95fedc]1564        * config.h.in, conf.h.in: conf.h.in replaced by a totally
[29b9f3]1565          rewritten config.h.in.  Furthermore, config.h is now explicitly
[95fedc]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).
[234362]1570
[29b9f3]1571        * factory.template, factory.h: factory.h replaced by
1572          factory.template since makeheader is now included in
1573          the distribution
[95fedc]1574        * factory.template: rewritten to new makeheader syntax
[e0ddbb]1575
[95fedc]1576        * factory.template, singfactory.h: Singular stuff moved from
1577          singfactory.h to factory.template.  Wrapped by #ifdef
[e0ddbb]1578          SINGULAR.
1579        * singfactory.h: removed from distribution
[234362]1580
[95fedc]1581        * gengftables.cc: code for generating gftables added to
[234362]1582          distribution
1583
[95fedc]1584        * GNUmakefile.in, Makefile.in: Makefile.in replaced by a totally
1585          rewritten GNUmakefile.in
1586
[234362]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
[95fedc]1591          manager added to distribution
[234362]1592
1593        * mpext.cc, mpext.h, mpfactory.h: removed from distribution.  No
[95fedc]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
[234362]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:
[95fedc]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
[650f2d8]1608        debug.h, cf_assert.h, and timing.h, resp.
[e0ddbb]1609
[650f2d8]1610        * cf_assert.h (NOASSERT, NDEBUG): #define NDEBUG to switch off
[95fedc]1611          assertions replaced by #define NOASSERT.  For sake of backward
1612          compatibility NDEBUG works, too.
[e0ddbb]1613
[650f2d8]1614        * cf_assert.h (DEBINCLEVEL, DEBDECLEVEL, DEBOUTSL, DEBOUT, DEBOUTLN):
[95fedc]1615          DEBOUT macros moved to debug.h
[e0ddbb]1616        * assert.cc: renamed to debug.cc
[95fedc]1617        * debug.h, debug.cc: new files.  DEBOUT macros moved from
[650f2d8]1618          cf_assert.h/assert.cc to debug.h/debug.cc.  All source files which
[95fedc]1619          need these macros include debug.h.
[e0ddbb]1620
[650f2d8]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
[e0ddbb]1623        * int_cf.h (PVIRT_VOID, PVIRT_INTCF, PVIRT_BOOL, PVIRT_INT,
[650f2d8]1624          PVIRT_CHARCC): PVIRT_*-macros moved to cf_assert.h
[234362]1625
[650f2d8]1626        * cf_assert.h (__ASSERT, __STICKYASSERT): the preprocessor instead of
[e0ddbb]1627          fprintf() pastes the message into the format string now
[388fe1e]1628
[650f2d8]1629        * cf_assert.h (__ASSERT1, ASSERT1, STICKYASSERT1): new macros
[a908f5e]1630
[650f2d8]1631        * cf_assert.h (__WARN, WARN, STICKYWARN): new macros
[95fedc]1632
1633        * canonicalform.cc (operator>>): dependency on #define SINGULAR
[a908f5e]1634          removed
[388fe1e]1635
[a908f5e]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
[388fe1e]1638          cf_defs.h is included only once
1639
[95fedc]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
[a908f5e]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
[234362]1679
[e0ddbb]1680        * config.h.in (GFTABLEDIR): new #define
[a908f5e]1681        * gfops.cc (gf_get_table): uses #define GFTABLEDIR to get path
[e0ddbb]1682          to the GF(q) tables
1683
[388fe1e]1684        * config.h.in (MDEBUG, NOASSERT, TIMING, DEBUGOUTPUT): new
1685          #defines
1686
[e0ddbb]1687        * config.h.in (NOSTREAMIO): new #define NOSTREAMIO to switch off
[234362]1688          stream IO.  Operators <<, >>, and related stuff wrapped by
[a908f5e]1689          #ifndef NOSTREAMIO.
[234362]1690
[aa7a315]1691        * debug.cc (deb_level, level_msg, deb_inc_level):
1692          deb_inc_level()'s output made more pretty at time of first call
[388fe1e]1693
[e0ddbb]1694        * debug.h (DEBOUT, DEBOUTLN): slightly modified so they print
1695          "objects" instead of only one "msg" and one "object".  All
1696          callers changed.
[388fe1e]1697
[95fedc]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
[388fe1e]1703
[e0ddbb]1704        * gmpext.h: references to #define INCL_GCDEXT_H replaced by
1705          references to #define INCL_GMPEXT_H
[388fe1e]1706
[e0ddbb]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
[388fe1e]1712
[e0ddbb]1713        * readcf.h: '#include <stdio.h>' replaced by '#include <iostream.h>'
[388fe1e]1714
[e0ddbb]1715        * readcf.y: dependency on #define COMEAU removed
1716
[95fedc]1717        * templates/matrix.cc (ASSERT): definition of ASSERT macros
1718          replaced by inclusion of factoryconf.h
[e0ddbb]1719
1720        * timing.h (HZ): new #define to calculate ticks per second in a
1721          more portable way.  All references changed.
[234362]1722
[95fedc]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
[234362]1728
1729        Last not least, changes at source code level:
1730
[e0ddbb]1731        * canonicalform.cc (mapinto): fixed mapping from int to GF(q)
[388fe1e]1732
[e0ddbb]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
[388fe1e]1742
[e0ddbb]1743        * cf_defs.h (SW_USE_SPARSEMOD): new switch
[388fe1e]1744
[e0ddbb]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
[388fe1e]1750
[234362]1751        * cf_linsys.cc (linearSystemSolve, determinant, determinant2):
[e0ddbb]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
[234362]1783
[e0ddbb]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.
[234362]1786
[e0ddbb]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.
[234362]1790
[e0ddbb]1791        * gfops.h (gf_gf2ff, gf_isff): declarations marked as public for
1792          Singular
1793        * factory.template: '#include "gfops.h"' added
[234362]1794
[e0ddbb]1795        * gfops.cc (gf_get_table): gf_table[gf_q] is guaranteed to be 0
[234362]1796
[e0ddbb]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
[234362]1802
[e0ddbb]1803        * gfops.cc (gf_get_table): length of temporary buffer replaced by
1804          'const int gf_maxbuffer'
[234362]1805
[e0ddbb]1806        * gfops.cc (gf_isff): rewritten
[234362]1807
[e0ddbb]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
[388fe1e]1812
[e0ddbb]1813        * gfops.cc (intVec2CF): new function
[234362]1814
[e0ddbb]1815        * gfops.h (gf_mipo): new declaration
[234362]1816
[e0ddbb]1817        * imm.h (class InternalCF): superfluous declaration of class
1818          InternalCF removed
[234362]1819
[e0ddbb]1820        * imm.h (imm_intval): convertion from GF(q) to integer added
[db12c5]1821
[e0ddbb]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.