Rework moments routines for improved numerical stability based on
[pspp] / src / ChangeLog
index debb7021b3f1d6f2c228f5a7061a51311fb657db..1fdf0d54e451195d1425d1fc135d04d346f1d66d 100644 (file)
@@ -1,8 +1,116 @@
+Sun Apr 11 14:22:12 2004  Ben Pfaff  <blp@gnu.org>
+
+       Rework moments routines for improved numerical stability based on
+       Michael Kiefte's advice.  Any bugs or remaining numerical problems
+       are still mine though.
+
+       There is now a struct moments1 for use with one-pass moments.  It
+       uses a provisional means algorithm as an attempt to improve
+       accuracy of higher moments.  The older struct moments now only
+       handles two-pass moments.
+       
+       * aggregate.c: Use moments1 instead moments.
+
+       * descript.c: Revert previous change, which is no longer needed
+       due to the moments revision.
+
+       * moments.c: (calc_moments) New function for calculating variance,
+       skewness, kurtosis.
+       (moments_pass_one) Only accumulate weights bigger than zero.
+       (moments_calculate) Allow calculating the mean on pass one, others
+       require pass two.  Implement in terms of calc_moments().
+       (struct moments1) New structure.
+       (init_moments1) New function.
+       (moments1_clear) Ditto.
+       (moments1_create) Ditto.
+       (moments1_add) Ditto.
+       (moments1_calculate) Ditto.
+       (moments1_destroy) Ditto.
+       (cmd_debug_moments) Deal with `struct moments' or `struct
+       moments1' as requested by user.
+
+Sun Apr 11 14:21:55 2004  Ben Pfaff  <blp@gnu.org>
+
+       * Makefile.am (pspp_SOURCES): Remove debug.c.
+
+       * debug.c: Removed.  It was empty anyway.
+
+Fri Apr  9 20:04:49 2004  Ben Pfaff  <blp@gnu.org>
+
+       * descript.c (calc_descriptives): Fix assert failure when only
+       MOMENT_MEAN is needed.
+
+2004-04-09  Michael Kiefte  <mkiefte@dal.ca>
+
+       * descript.c: 
+
+       fixed problem with parsing in match_statistic() causing
+       "DESCRIPTIVE STAT=MEAN." to barf.
+
+       "MEAN" is now default if "SORT" given without specification.
+
+       Fixed infinite loop with "DESCRIPT GIBBERISH=ALL."  Parsing is
+       generally less forgiving of syntax errors: better to have it do
+       nothing and type it in again then to not know what it actually did
+       instead.  
+
+       z-score transformation now checks score for user-missing values
+       and checks std_dev for SYSMIS.
+
+2004-04-06  Michael Kiefte  <mkiefte@dal.ca>
+
+       * aggregate.c, crosstabs.q, descript.c, dictionary.c, frequencies.q, levene.c, t-test.q, var.h: 
+       Changed dict_get_case_weight() to accept an additional int * flag
+       to complain about system-missing, user-missing, zero, or negative
+       weights and updated existing functions to pass int * to
+       dict_get_case_weight().
+
+2004-04-05  jmd  <jmd@gnu.org>
+
+       * main.c: Fixed configuration problems with gsl
+
+       * t-test.q: Fixed some problems encountered when compiling under Cygwin
+
+2004-04-03  blp  <blp@gnu.org>
+
+       * lexer.c, ChangeLog:
+       Fix infinite loop on comment at end of file, add test.
+
+2004-04-03  jmd  <jmd@gnu.org>
+
+       * settings.h, var.h, ChangeLog, Makefile.am, cmdline.c, command.c, command.h, error.h, filename.c, frequencies.q, lexer.h, main.c, q2c.c, set.q:
+       Fixed the calculation of percentiles and added --syntax and --algorithm options
+
+Sat Apr  3 11:43:37 2004  Ben Pfaff  <blp@gnu.org>
+
+       * lexer.c: (lex_skip_comment) Handle end-of-file correctly (I
+       hope).
+
+Sat Apr  3 15:00:18 WST 2004 John Darrington <john@darrington.wattle.id.au>
+
+        * frequencies.q:  Fixed the calculation of percentiles
+
+       * Makefile.am:  Added the --ansi flag and dealt with the
+       consequences.  Added some entries to PSPP_sources so that
+       make distcheck would pass
+
+       * cmdline.c:   Added the --syntax and --algorithm options
+
+       * q2c.c:  Added an implicit /ALGORITHM subcommand to everything.
+
+Fri Apr  2 11:25:22 WAST 2004 John Darrington <john@darrington.wattle.id.au>
+
+       * t-test.q, levene.c, levene.h  Converted t-test (incl levene) to 
+       use the new multipass_split_... mechanism.
+
 Wed Mar 31 22:36:22 2004  Ben Pfaff  <blp@gnu.org>
 
        * frequencies.q: (calc_stats) Use moments data structure and
        calc_seskew(), calc_sekurt() functions.
 
+       * set.q main.c settings.h Added support for --syntax and --algorithm 
+       options
+
 Tue Mar 30 22:04:19 2004  Ben Pfaff  <blp@gnu.org>
 
        * vfm.c: Had to get last call to multipass_split_output() inside