Fix bug where a copy dest spec would cause a failed assertion in strdup
Fix bug where a copy dest spec would cause the wrong member of the union
to be copied
Ben Pfaff [Sat, 17 Apr 2004 07:02:10 +0000 (07:02 +0000)]
Contrary to what I'd always understood, there is an efficient
algorithm for deletion from a hash table populated via linear probing.
This change implements it.
Ben Pfaff [Sun, 11 Apr 2004 21:32:00 +0000 (21:32 +0000)]
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.
Michael Kiefte [Fri, 9 Apr 2004 09:58:47 +0000 (09:58 +0000)]
* 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
(problem also related to infinite loop problem above).
z-score transformation now check score for user-missing values and ch
ecks std_dev for SYSMIS.
Michael Kiefte [Tue, 6 Apr 2004 18:14:36 +0000 (18:14 +0000)]
* Changed dict_get_case_weight() to accept an additional int * flag to complain about system-missing, user-missing, zero, or negative weights.
* Updated existing functions to pass int * to dict_get_case_weight().
Ben Pfaff [Tue, 30 Mar 2004 00:52:36 +0000 (00:52 +0000)]
Add multipass procedures. Add two-pass moments calculation. Rewrite
DESCRIPTIVES as a multipass procedure to use two-pass moments. Fix
some memory leaks.
Ben Pfaff [Tue, 30 Mar 2004 00:42:46 +0000 (00:42 +0000)]
Add multipass procedures. Add two-pass moments calculation. Rewrite
DESCRIPTIVES as a multipass procedure to use two-pass moments. Fix
some memory leaks.
Ben Pfaff [Sun, 21 Mar 2004 03:06:11 +0000 (03:06 +0000)]
Changed DFM from open-at-first-access to explicit-open. Before,
calling dfm_get_record() or dfm_put_record() would automatically
open the file. Now, you have to call dfm_open_for_reading() or
dfm_open_for_writing() explicitly. This makes it possible to
check permissions, file existence, etc. earlier.
Also made struct file_handle more opaque, and clean up in general.
Fixed cmd_parse() so that it always skips past a full command
name. A few special commands for which this would be bad get
special treatment. This lets us drop code for skipping past the
end of a command name in most cmd_*() functions. It's not worth
listing all the commands affected.
Ben Pfaff [Mon, 15 Mar 2004 07:09:38 +0000 (07:09 +0000)]
Redo VFM interface. Get rid of compaction_necessary, compaction_nval,
compaction_case. Replace disk_sink and memory_sink by storage_sink,
disk_source and memory_source by storage_source.
Ben Pfaff [Tue, 17 Feb 2004 06:19:35 +0000 (06:19 +0000)]
Add an Emacs header line to output files that makes generated .c files
read-only by default, to make it difficult to accidentally change
generated files.
FREQUENCIES: Compare by frequency, not bogus a->v.c <=> b->v.c pointer
compare.
Changed data_out() to store string data directly into a `union
value''s s member, not indirectly into c.
Renamed some confusingly named member objects in crosstabs.q.