source: git/factory/ChangeLog @ f53b58

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