pspp-builds.git
20 years agoBeginning of VFM cleanup.
Ben Pfaff [Tue, 2 Mar 2004 20:00:33 +0000 (20:00 +0000)]
Beginning of VFM cleanup.

20 years agoImproved method of generating POTFILES.in
John Darrington [Sun, 22 Feb 2004 08:08:40 +0000 (08:08 +0000)]
Improved method of generating POTFILES.in

20 years agoAdded a trap on signal 11 requesting a bug report.
John Darrington [Sat, 21 Feb 2004 09:41:53 +0000 (09:41 +0000)]
Added a trap on signal 11 requesting a bug report.

20 years agoFix root cause of bug worked around by previous check-in, and remove
Ben Pfaff [Sat, 21 Feb 2004 07:23:59 +0000 (07:23 +0000)]
Fix root cause of bug worked around by previous check-in, and remove
workaround.

20 years agoChanged po/POTFILES.in to be a generated file.
John Darrington [Sat, 21 Feb 2004 02:38:53 +0000 (02:38 +0000)]
Changed po/POTFILES.in to be a generated file.
Fixed some problems with the make distcheck target.

20 years agoFixed a bug causing pspp to crash when computed variables had no format
John Darrington [Fri, 20 Feb 2004 06:41:14 +0000 (06:41 +0000)]
Fixed a bug causing pspp to crash when computed variables had no format
defined, and were subsequently saved.

20 years agoGot rid of approx.h and replaced all references to approx_eq() by ==,
Ben Pfaff [Thu, 19 Feb 2004 06:27:22 +0000 (06:27 +0000)]
Got rid of approx.h and replaced all references to approx_eq() by ==,
approx_lt() by <, etc.

20 years agoPrevent procedure() from being called recursively.
Ben Pfaff [Thu, 19 Feb 2004 05:33:11 +0000 (05:33 +0000)]
Prevent procedure() from being called recursively.

20 years agoImprove CROSSTABS description
Ben Pfaff [Thu, 19 Feb 2004 02:16:10 +0000 (02:16 +0000)]
Improve CROSSTABS description

20 years agoAdded Levene test. Added T-TEST section to pspp.texi
John Darrington [Wed, 18 Feb 2004 14:13:54 +0000 (14:13 +0000)]
Added Levene test.  Added T-TEST section to pspp.texi

20 years agodata-out.c clean ups.
Ben Pfaff [Tue, 17 Feb 2004 07:21:16 +0000 (07:21 +0000)]
data-out.c clean ups.

20 years agoAdd an Emacs header line to output files that makes generated .c files
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.

20 years agoPrepend $SUPERVISOR to invocations of pspp so that we
Ben Pfaff [Tue, 17 Feb 2004 05:38:31 +0000 (05:38 +0000)]
Prepend $SUPERVISOR to invocations of pspp so that we
can run valgrind or gdb easily with `make check'.

20 years agoAdded test for T-TEST /GROUPS (Levene values come later).
John Darrington [Tue, 17 Feb 2004 05:28:31 +0000 (05:28 +0000)]
Added test for T-TEST /GROUPS (Levene values come later).

20 years agoAdded tests for the one sample and paired T-TEST commands
John Darrington [Tue, 17 Feb 2004 03:47:43 +0000 (03:47 +0000)]
Added tests for the one sample and paired T-TEST commands

20 years agoClean up struct dictionary's value_cnt usage.
Ben Pfaff [Mon, 16 Feb 2004 20:54:17 +0000 (20:54 +0000)]
Clean up struct dictionary's value_cnt usage.

20 years agoFix comment.
Ben Pfaff [Mon, 16 Feb 2004 08:23:49 +0000 (08:23 +0000)]
Fix comment.

20 years agoMake vfm.c slightly less grotesque.
Ben Pfaff [Mon, 16 Feb 2004 08:20:45 +0000 (08:20 +0000)]
Make vfm.c slightly less grotesque.

20 years ago(struct variable) Update comments.
Ben Pfaff [Mon, 16 Feb 2004 08:17:26 +0000 (08:17 +0000)]
(struct variable) Update comments.

20 years agoGot rid of "struct long_vec", envector(), devector(), etc.
Ben Pfaff [Mon, 16 Feb 2004 07:39:57 +0000 (07:39 +0000)]
Got rid of "struct long_vec", envector(), devector(), etc.
New functions dict_create_var_assert(), dict_lookup_var_assert().

20 years agoIgnore more files.
Ben Pfaff [Mon, 16 Feb 2004 04:55:33 +0000 (04:55 +0000)]
Ignore more files.

20 years agoIgnore some files.
Ben Pfaff [Mon, 16 Feb 2004 04:54:41 +0000 (04:54 +0000)]
Ignore some files.

20 years agopfm-write.c: (bufwrite) Get rid of nasty cast that also invoked
Ben Pfaff [Mon, 16 Feb 2004 04:52:36 +0000 (04:52 +0000)]
pfm-write.c: (bufwrite) Get rid of nasty cast that also invoked
undefined behavior.

20 years agoImprove AGGREGATE description.
Ben Pfaff [Mon, 16 Feb 2004 04:17:13 +0000 (04:17 +0000)]
Improve AGGREGATE description.

20 years agoDon't #include "str.h" in stpcpy.c.
Ben Pfaff [Fri, 13 Feb 2004 19:23:23 +0000 (19:23 +0000)]
Don't #include "str.h" in stpcpy.c.

20 years agoAdd auxiliary argument to procedure() interface. Associated small
Ben Pfaff [Fri, 13 Feb 2004 08:01:45 +0000 (08:01 +0000)]
Add auxiliary argument to procedure() interface.  Associated small
clean-ups of vfm interface.

20 years agoAdded caculations for the grouped T-TEST
John Darrington [Thu, 12 Feb 2004 12:24:59 +0000 (12:24 +0000)]
Added caculations for the grouped T-TEST

20 years agoClean up pref.h.orig and deal with the consequences.
Ben Pfaff [Thu, 12 Feb 2004 08:19:49 +0000 (08:19 +0000)]
Clean up pref.h.orig and deal with the consequences.

20 years agoUpdate a rather poor Changelog entry, to give better information.
John Darrington [Thu, 12 Feb 2004 07:55:53 +0000 (07:55 +0000)]
Update a rather poor Changelog entry, to give better information.

20 years agoFixed crash from FLIP when a numeric variable is specified on NEWNAMES
Ben Pfaff [Thu, 12 Feb 2004 04:40:55 +0000 (04:40 +0000)]
Fixed crash from FLIP when a numeric variable is specified on NEWNAMES
and a large value is used, and a couple of other minor bugs in FLIP.

20 years agoFixed t-test so that multiple /pairs subcommands may be given.
John Darrington [Mon, 9 Feb 2004 10:57:28 +0000 (10:57 +0000)]
Fixed t-test so that multiple /pairs subcommands may be given.

20 years agoImplemented calculations for the paired samples t-test
John Darrington [Mon, 9 Feb 2004 03:26:12 +0000 (03:26 +0000)]
Implemented calculations for the paired samples t-test

20 years agoAdded calculations for the correlation for paired samples in t-test
John Darrington [Sun, 8 Feb 2004 14:59:41 +0000 (14:59 +0000)]
Added calculations for the correlation for paired samples in t-test

20 years agoAdded a (currently unpopulated) box for the paired samples correlations
John Darrington [Fri, 6 Feb 2004 00:13:52 +0000 (00:13 +0000)]
Added a (currently unpopulated) box for the paired samples correlations

20 years agoFixed a bug which crashed PSPP under invalid input.
John Darrington [Thu, 5 Feb 2004 06:56:45 +0000 (06:56 +0000)]
Fixed a bug which crashed PSPP under invalid input.
Factored out some translatable strings.

20 years agoFixed a bug causing PSPP to crash under certain invalid input.
John Darrington [Thu, 5 Feb 2004 05:17:49 +0000 (05:17 +0000)]
Fixed a bug causing PSPP to crash under certain invalid input.

20 years agoAdded proper error messages in T-TEST
John Darrington [Wed, 4 Feb 2004 23:49:42 +0000 (23:49 +0000)]
Added proper error messages in T-TEST

20 years agoFixed bug calculating mean difference.
John Darrington [Wed, 4 Feb 2004 12:22:38 +0000 (12:22 +0000)]
Fixed bug calculating mean difference.

20 years agoAdded calculations for the one sample t test
John Darrington [Wed, 4 Feb 2004 08:03:06 +0000 (08:03 +0000)]
Added calculations for the one sample t test

20 years ago(render_strip) Fix bug that sometimes caused joined text in joined
Ben Pfaff [Wed, 4 Feb 2004 04:09:26 +0000 (04:09 +0000)]
(render_strip) Fix bug that sometimes caused joined text in joined
cells to be rendered outside box boundaries.

20 years agoAdd item.
Ben Pfaff [Wed, 4 Feb 2004 02:31:02 +0000 (02:31 +0000)]
Add item.

20 years agoRemoved some vertical whitespace and added some horizontal
John Darrington [Tue, 3 Feb 2004 11:36:55 +0000 (11:36 +0000)]
Removed some vertical whitespace and added some horizontal

20 years agoFixed bug building while configured with --with-included-gettext
John Darrington [Tue, 3 Feb 2004 11:16:25 +0000 (11:16 +0000)]
Fixed bug building while configured with --with-included-gettext

20 years agoFixed seeding of random number generator.
John Darrington [Tue, 3 Feb 2004 11:01:23 +0000 (11:01 +0000)]
Fixed seeding of random number generator.

20 years ago(rng_get_double) Fix always-returning-zero bug in my preferred way,
Ben Pfaff [Tue, 3 Feb 2004 07:47:46 +0000 (07:47 +0000)]
(rng_get_double) Fix always-returning-zero bug in my preferred way,
and at the same time make sure rounding doesn't bite us.

20 years agoFixed a bug where the random number generator always returned zero.
John Darrington [Tue, 3 Feb 2004 07:03:08 +0000 (07:03 +0000)]
Fixed a bug where the random number generator always returned zero.

20 years agoAdded workaround for annoying gettextize behaviour
John Darrington [Tue, 3 Feb 2004 01:28:35 +0000 (01:28 +0000)]
Added workaround for annoying gettextize behaviour

20 years agoAdded version.c to the CLEANFILES target (ensures that a new date stamp gets
John Darrington [Fri, 30 Jan 2004 11:51:21 +0000 (11:51 +0000)]
Added version.c to the CLEANFILES target (ensures that a new date stamp gets
applied to each build).

20 years agoRewritten the t-test (no calculations yet).
John Darrington [Fri, 30 Jan 2004 03:01:28 +0000 (03:01 +0000)]
Rewritten the t-test (no calculations yet).

20 years agoAdded bounds checking to tab.c
John Darrington [Fri, 30 Jan 2004 00:29:40 +0000 (00:29 +0000)]
Added bounds checking to tab.c

20 years agoRemoved inappropriate assertion from list.q
John Darrington [Thu, 29 Jan 2004 23:54:37 +0000 (23:54 +0000)]
Removed inappropriate assertion from list.q

20 years agofixed broken dependency in Smake
John Darrington [Tue, 27 Jan 2004 01:22:25 +0000 (01:22 +0000)]
fixed broken dependency in Smake

20 years agoRemoved some generated files.
John Darrington [Tue, 27 Jan 2004 00:50:27 +0000 (00:50 +0000)]
Removed some generated files.
Removed references to `fiasco' (except historical data).

20 years agoFixed some issues with internationalisation
John Darrington [Tue, 27 Jan 2004 00:08:54 +0000 (00:08 +0000)]
Fixed some issues with internationalisation

20 years agoTest commits.
Ben Pfaff [Fri, 23 Jan 2004 01:23:22 +0000 (01:23 +0000)]
Test commits.

20 years agoFixed a buglet in the ERASE command, added a test for it, and some documentation.
John Darrington [Mon, 5 Jan 2004 06:26:03 +0000 (06:26 +0000)]
Fixed a buglet in the ERASE command, added a test for it, and some documentation.

20 years agoAdded documentation for the HOST command.
John Darrington [Mon, 5 Jan 2004 04:35:25 +0000 (04:35 +0000)]
Added documentation for the HOST command.

20 years agoAdded test for bug in FREQ command.
John Darrington [Sun, 4 Jan 2004 23:19:39 +0000 (23:19 +0000)]
Added test for bug in FREQ command.

20 years agoThu Jan 1 23:16:41 2004 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Fri, 2 Jan 2004 07:28:39 +0000 (07:28 +0000)]
Thu Jan  1 23:16:41 2004  Ben Pfaff  <blp@gnu.org>

* html.c: (change_attributes) Dead code, removed.
(escape_string) Eliminate code to call change_attributes() that
never actually called it.
(output_tab_table) Get rid of dependence on tab_hit
and struct tab_joined_cell's hit member, which are abominations.

* tab.c: (tab_output_text) Don't call
d->class->text_set_font_by_name if it's a null pointer.
(macro UNROLL_LOOP) Eliminate.
(macro UNROLL_3_LOOPS) Eliminate
(tabi_render) Rewrite not to use the above macros.

Thu Jan  1 23:09:07 2004  Ben Pfaff  <blp@gnu.org>

Start working on a new output driver system, one that doesn't suck
so much, by adding a "device-independent" output driver.  The idea
is to write out only a single output stream, then use separate
processes to translate them into whatever formats we want.  This
is similar to how "groff" works with its various output drivers
(grops, grotty, grodvi, ...).

* Makefile.am: (pspp_SOURCES) Add devind.c, devind.h.

* list.q: (write_all_headers) Stub out devind class.
(clean_up) Ditto.
(determine_layout) Ditto.
(list_cases) Ditto.

* output.c: (outp_init) Add devind class.

* devind.c: New file.

* devind.h: New file.

Thu Jan  1 23:08:14 2004  Ben Pfaff  <blp@gnu.org>

* frequencies.q: (hash_value_alpha) Fixed up the previous change
to use the proper string length.

20 years agoFixed a bug in frequencies.q which would crash on alpha values
John Darrington [Wed, 31 Dec 2003 08:28:06 +0000 (08:28 +0000)]
Fixed a bug in frequencies.q which would crash on alpha values

20 years agoTue Dec 30 22:42:57 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Wed, 31 Dec 2003 06:46:22 +0000 (06:46 +0000)]
Tue Dec 30 22:42:57 2003  Ben Pfaff  <blp@gnu.org>

* Removed bletcherous alloca() workarounds for AIX from top of
many files.  AIX can use the alternative alloca() implementation
instead.

20 years agoTue Dec 30 22:37:04 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Wed, 31 Dec 2003 06:40:48 +0000 (06:40 +0000)]
Tue Dec 30 22:37:04 2003  Ben Pfaff  <blp@gnu.org>

* devices: Add "squeeze=on top-margin=0 bottom-margin=0" to
raw-ascii to make test output more readable.

Tue Dec 30 22:35:16 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c: (ascii_option) Fix implementation of headers option.

Tue Dec 30 22:32:53 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c: Add a "squeeze" option to the ASCII driver to squeeze
multiple blank lines into one.
(struct ascii_driver_ext) Add squeeze_blank_lines option.
(ascii_preopen_driver) Initialize squeeze_blank_lines.
(static var option_tab) Add squeeze entry.
(ascii_option) Set squeeze_blank_lines.
(output_lines) Implement squeezing blank lines.

20 years agoRemoved redundant code from output.h
John Darrington [Tue, 30 Dec 2003 23:22:03 +0000 (23:22 +0000)]
Removed redundant code from output.h

20 years agoFixed floating point rounding problem
John Darrington [Tue, 30 Dec 2003 14:25:24 +0000 (14:25 +0000)]
Fixed floating point rounding problem

20 years agoSat Dec 27 16:16:49 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:42:15 +0000 (04:42 +0000)]
Sat Dec 27 16:16:49 2003  Ben Pfaff  <blp@gnu.org>

* configure.ac: Add -Wmissing-prototypes flag to gcc.

* TODO: Updated.

Sat Dec 27 22:17:52 2003  Ben Pfaff  <blp@gnu.org>

Dictionary classes: each variable is "ordinary", "system", or
"scratch".

* var.h: (enum dict_class) New enum.

* vars-prs.c: (dict_class_from_id) New function.
(dict_class_to_name) New function.

Sat Dec 27 22:16:06 2003  Ben Pfaff  <blp@gnu.org>

* var.h: (struct freq_tab_set) Removed (not used).

Sat Dec 27 22:15:21 2003  Ben Pfaff  <blp@gnu.org>

* value-labels.c: (val_labs_destroy) vls needs to be freed too.

Sat Dec 27 22:10:49 2003  Ben Pfaff  <blp@gnu.org>

* stats.c: (hypercube) Rename pow4().  All references updated.

Sat Dec 27 22:05:49 2003  Ben Pfaff  <blp@gnu.org>

* rename-vars.c: (cmd_rename_variables) Rewritten.
(compare_name) Removed.

Sat Dec 27 22:03:51 2003  Ben Pfaff  <blp@gnu.org>

var_set feature, and code taking advantage of it.

* crosstabs.q: (static var var_dict) Removed.
(static var variables) New variable.
(static var variables_cnt) New variable.
(cmd_crosstabs) Free variables instead of var_dict.
(internal_cmd_crosstabs) Initialize and use variables,
variables_cnt instead of var_dict.
(free_var_dict) Removed.
(crs_custom_tables) Use var_set instead of a copied dictionary.
(crs_custom_variables) Set up variables, variables_cnt instead of
var_dict.
[DEBUGGING] (debug_print) Ditto.

* means.q: (mns_custom_tables) Use var_set instead of a copied
dictionary.

* vars-prs.c: (parse_vs_variable) New function.
(parse_dict_variable) Rewritten.
(parse_variable) Rewritten.
(parse_variables) Renamed parse_var_set_vars(), rewritten.
(parse_variables) New function in terms of parse_var_set_vars().
Now requires its first argument to be non-null.  All references
that passed a null pointer updated to pass default_dict instead.
(macro id_dict) Removed.
(parse_DATA_LIST_vars) Add assertions.
(parse_mixed_vars) Ditto.
(struct var_set) New structure.
(var_set_get_cnt) New function.
(var_set_get_var) New function.
(var_set_lookup_var) New function.
(var_set_destroy) New function.
(dict_var_set_get_cnt) New function.
(dict_var_set_get_var) New function.
(dict_var_set_lookup_var) New function.
(dict_var_set_destroy) New function.
(var_set_create_from_dict) New function.
(struct array_var_set) New structure.
(array_var_set_get_cnt) New function.
(array_var_set_get_var) New function.
(array_var_set_lookup_var) New function.
(array_var_set_destroy) New function.
(var_set_create_from_array) New function.

* q2c.c: (dump_parser) Use parse_variables(default_dict, ...)
instead of parse_variables(NULL, ...) in output code.

Sat Dec 27 21:38:53 2003  Ben Pfaff  <blp@gnu.org>

Change inp_init from a 2-bit vector to an ordinary array.
Initialize it all in cmd_end_input_program() instead of in
create_variable().

* inpt-pgm.c: (enum value_init_type) New enum.
(global var inp_init) Change to `enum value_init_type *', make
static.
(inp_init_size) Removed.
(inp_nval) Change to `size_t', make static.
(cmd_input_program) Don't initialize inp_init or inp_init_size.
(cmd_end_input_program) Initialize inp_init, inp_nval.
(init_case) Rewrite.
(clear_case) Rewrite.

* inpt-pgm.h: Removed.

Sat Dec 27 21:36:38 2003  Ben Pfaff  <blp@gnu.org>

* hash.c: (hsh_hash_bytes) Use Fowler-Noll-Vo hash instead of
Colin Plumb hash.  It is simpler and should better resist
collisions.
(hsh_hash_string) Ditto.

Sat Dec 27 21:34:57 2003  Ben Pfaff  <blp@gnu.org>

* get.c: (export_write_case_func) Remove debug printing code.

Sat Dec 27 21:11:09 2003  Ben Pfaff  <blp@gnu.org>

* get.c: (cmd_save_internal) Rename parameter.  Use &t->h instead
of cast.
(save_write_case_func) Use &trns->h instead of cast.
(cmd_export) Use &t->h instead of cast.

Sat Dec 27 20:57:42 2003  Ben Pfaff  <blp@gnu.org>

Moved vectors into the dictionary.

* var.h: (struct vector) Moved here from vector.h.  `index' member
renamed `idx', `v' renamed `var', `nv' renamed `cnt'.  All
references updated.

* vector.h: Removed.

* vector.c: (global var vec) Removed.
(global var nvec) Removed.
(cmd_vector) Rewritten.
(find_vector) Removed.

* dictionary.c: (dict_create_vector) New function.
(dict_get_vector) New function, replaces reading global vec[]
array.
(dict_get_vector_cnt) New function, replaces reading global nvec
variable.
(dict_lookup_vector) New function, replaces find_vector().
(dict_clear_vectors) New function.

Sat Dec 27 20:54:01 2003  Ben Pfaff  <blp@gnu.org>

Start to move away from `struct variable' p `union' member to void
* aux member.

* var.h: (struct variable) Add `aux' member.

Sat Dec 27 20:36:25 2003  Ben Pfaff  <blp@gnu.org>

Get rid of struct variable `foo' member.

* frequencies.q: (internal_cmd_frequencies) Use p.frq.used instead
of foo.
(frq_custom_variables) Ditto.
(frq_custom_grouped) Ditto.

* get.c: (struct save_trns) Change `var' member from `int *' to
`struct variable **'.
(cmd_save_internal) Use aux instead of foo.
(save_trns_proc) Use revised `var' member.
(static var mtf_seq_no) Renamed mtf_seq_num.
(static var mtf_seq_nums) New static var.
(cmd_match_files) Initialize mtf_seq_nums.
(mtf_free) Free mtf_seq_nums.
(mtf_processing) Use mtf_seq_nums instead of foo.
(mtf_merge_dictionary) No need to initialize mv->foo.
(cmd_export) Use aux instead of foo.  Use revised `var' member.
(mns_custom_tables) Don't use foo to check for duplicates, that's
what PV_NO_DUPLICATE is for.

* var.h: (struct variable) Remove `foo' member.
(struct frequencies_proc) New member.

Sat Dec 27 19:46:13 2003  Ben Pfaff  <blp@gnu.org>

Clean up COMPUTE and IF.

* compute.c: More or less rewrite the darn thing.
(struct compute_trns) Rename and reorder and add and delete
members.
(cmd_compute) Rewrite.
(compute_num) Make conditional on test expression.  Now used for
both COMPUTE and IF.
(compute_num_vec) Ditto.
(compute_str) Ditto.
(compute_str_vec) Ditto.
(cmd_if) Rewrite.
(if_num) Removed.
(if_num_vec) Removed.
(if_str) Removed.
(if_str_vec) Removed.
(parse_target_expression) Renamed parse_rvalue_expression(),
rewritten.
(new_trns) Renamed compute_trns_create(), rewritten.
(delete_trns) Removed.
(free_trns) Renamed compute_trns_free(), rewritten.
(struct lvalue) New structure.
(parse_var_or_vec) Renamed lvalue_parse(), rewritten.
(lvalue_get_type) New function.
(lvalue_is_vector) New function.
(lvalue_finalize) New function.
(lvalue_destroy) New function.

Sat Dec 27 19:44:14 2003  Ben Pfaff  <blp@gnu.org>

* command.def: Disallow MODIFY VARS in input mode, so that
variables can't get dropped and confuse cmd_end_input_program()'s
attempt to fill inp_init[].

* modify-vars.c: (static var forward_positional_ordering) New
variable.
(struct var_modification) Entirely changed.
(rearrange_dict) Interface changed, rewritten.
(cmd_modify_vars) Deal with modified struct var_modification, much
rewritten.
(struct var_renaming) New structure.
(compare_var_renaming_by_new_name) New function.
(validate_var_modification) New function.

* var.h: (struct modify_vars_proc) Removed.
(struct variable) Removed member p.mfv.

Sat Dec 27 19:40:26 2003  Ben Pfaff  <blp@gnu.org>

Make EVALUATE a valid command whether we're debugging or not, so
that `make check' can succeed regardless of whether debugging is
turned on.

* command.def: [GLOBAL_DEBUGGING] Drop the #if.

* compute.c: [GLOBAL_DEBUGGING] (cmd_evaluate) Drop the #if.

Sat Dec 27 19:34:40 2003  Ben Pfaff  <blp@gnu.org>

* apply-dict.c: (cmd_apply_dictionary) Replace a ghastly switch
statement by a simple if test.

* dfm.c: (dfm_get_record) Add assertion.

Sat Dec 27 17:51:26 2003  Ben Pfaff  <blp@gnu.org>

For each file x.c, move #include "x.h" to the very top of the
include list, to catch x.h failing to include the proper headers.

Sat Dec 27 17:50:19 2003  Ben Pfaff  <blp@gnu.org>

* algorithm.c: (find) New function.
(remove_equal) New function.
(set_difference) New function.
(adjacent_find_equal) New function.
[TEST_UNIQUE] Removed test case.
(copy_if) Find end test.

Sat Dec 27 17:42:45 2003  Ben Pfaff  <blp@gnu.org>

* dictionary.c: (dict_get_case_weight) New convenience function.

* aggregate.c: (accumulate_aggregate_info) Use
dict_get_case_weight().

* frequencies.q: (calc_general) Ditto.
(calc_integer) Ditto.
(calc) Ditto.

* t-test.q: (groups_calc) Ditto.
(z_calc) Ditto.

Sat Dec 27 17:29:45 2003  Ben Pfaff  <blp@gnu.org>

* glob.c: (global var default_dict) Change from `struct
dictionary' to `struct dictionary *'.  All references changed.
(init_glob) Initialize default_dict with dict_create().

Sat Dec 27 17:06:06 2003  Ben Pfaff  <blp@gnu.org>

struct dictionary now made opaque.  All related functions:

* get.c: (rename_variables) Removed.
(dict_delete_run) Removed.

* temporary.c: (copy_variable) Removed.
(new_dictionary) Removed.
(save_dictionary) Removed.
(restore_dictionary) Removed.
(free_dictionary) Removed.

* vars-atr.c: (clear_default_dict) Removed.
(find_variable) Removed.
(find_dict_variable) Removed.
(create_variable) Removed.
(delete_variable) Removed.
(common_init_stuff) Removed.
(init_variable) Removed.  Updating of inp_init moved into
cmd_end_input_program().
(replace_variable) Removed.
(rename_variable) Removed.
(clear_variable) Removed.
(dup_variable) Removed.

* vars-prs.c: (is_varname) Removed.
(is_dict_varname) Removed.
(fill_all_vars) Removed.

* vector.c: (find_vector) Removed.

* weight.c: (stop_weighting) Removed.

* dictionary.c: New file.
(dict_create) New, replaces new_dictionary().
(dict_clone) New, replaces save_dictionary() and
restore_dictionary().
(dict_clear) New, replaces clear_default_dict().
(dict_destroy) New, replaces free_dictionary().
(dict_get_var_cnt) New function, replaces references to
dict->nvar.
(dict_get_var) New function, replaces references to dict->var[i].
(dict_get_vars) New function, replaces fill_all_vars().
(dict_create_var) New, replaces create_variable().  Interface
drops `type' parameter, using a zero `width' to designate numeric.
(dict_clone_var) New, replaces dup_variable().
(dict_rename_var) New, replaces rename_variable().
(dict_lookup_var) New, replaces find_variable(),
find_dict_variable(), is_varname().
(dict_contains_var) New function.
(compare_variable_dblptrs) New function.
(dict_delete_var) New function, replaces clear_variable().
(dict_delete_vars) New function, replaces dict_delete_run().
(dict_reorder_vars) New function.
(dict_rename_vars) New function, replaces rename_variables().
(dict_get_weight) New function, replaces reading dict->weight_var.
(dict_set_weight) New function, replaces writing dict->weight_var
or calling stop_weight(dict).
(dict_get_filter) New function, replaces reading dict->filter_var.
(dict_set_filter) New function, replaces writing dict->filter_var.
(dict_get_case_limit) New function, replaces reading dict->N.
(dict_set_case_limit) New function, replaces writing dict->N.
(dict_get_value_cnt) New function, replaces reading dict->nval.
(dict_compact_values) New function, replaces a loop that was
replicated in several places.
(dict_get_split_vars) New function, replaces reading dict->splits.
(dict_get_split_cnt) New function, replaces reading
dict->n_splits.
(dict_set_split_vars) New function, replaces writing dict->splits.
(dict_get_label) New function, replaces reading dict->label.
(dict_set_label) New function, replaces writing dict->label.
(dict_get_documents) New function, replaces reading
dict->documents.
(dict_set_documents) New function, replaces writing
dict->documents.

All references to above functions updated.

* aggregate.c: (cmd_aggregate) Copy file label and documents from
old dictionary to new by hand, because dict_create() can't do it
itself.  Use dict_set_documents(), dict_set_split_vars().

* temporary.c: (cancel_temporary) Also set temp_dict to NULL after
calling dict_destroy().

* data-list.c: (dls_var_spec) Remove `type' member, replace by
`width'.
(fixed_parse_compatible) Some slightly nontrivial changes for
dict_create_var().
(dump_fmt_list) Ditto.
(parse_free) Ditto.

* file-type.c: (create_col_var) Ditto.

* get.c: (cmd_get) Use dict_compact_values() instead of a loop.
(trim_dictionary) Use dict_delete_vars(), dict_reorder_vars().
(rename_variables) Use dict_rename_vars().
(mtf_merge_dictionary) Use dict_get_documents(),
dict_set_documents(), dict_compact_values().

* pfm-read.c: (read_variables) Deal with changes to weighting.

* q2c.c: (dump_parser) Use dict_lookup_var() instead of
is_varname() in output code.

* sfm-read.c: (read_header) Use dict_create(), dict_set_label(),
other dictionary functions.

* title.c: (add_document_line) Use dict_get_documents(),
dict_set_documents().

* vars-atr.c: (discard_variables) Use dict_clear(default_dict),
reset default_handle by hand.  dict_clear() will clear vectors so
there's no need for that by hand.

* vfm.c: (close_active_file) Move call to finish_compaction()
earlier, so that we can do the compaction as a single step using
dict_compact_values().  Use dict_clear_vectors().
(finish_compaction) Use dict_delete_var(), dict_compact_values().

Some functions don't have replacements:

* vars-atr.c: (force_create_variable) Removed.  All references
updated to dict_create_var() followed by an assertion.
(force_dup_variable) Removed.  All references updated to
dict_clone_var() followed by an assertion.

* weight.c: (update_weighting) Removed.  No longer necessary, so
all references removed.

Sat Dec 27 16:43:01 2003  Ben Pfaff  <blp@gnu.org>

Clean up AGGREGATE.

* aggregate.c: Eliminate separation of weighted and unweighted
case.  It made the code too obscure and I doubt it was actually
faster.  Instead, all code uses the "weighted" code, because
that's a generalization of the "unweighted" code.
(FWEIGHT) Removed.
(FOPTIONS) Ditto.
(parse_aggregate_functions) No need to set FWEIGHT.
(accumulate_aggregate_info) Get rid of FWEIGHT cases.
(dump_aggregate_info) Ditto.
(initialize_aggregate_info) No need for special plain_function
that gets rid of FWEIGHT option.

* aggregate.c: Get rid of approximations.
(accumulate_aggregate_info) Don't use approx_gt(), approx_lt(),
approx_in_range().
(aggregate_single_case) Don't use approx_ne().

Sat Dec 27 16:19:36 2003  Ben Pfaff  <blp@gnu.org>

* ascii.c (ascii_line_width): Dead code, removed.

* postscript.c (ps_line_width): Ditto.

* q2c.c (xrealloc): Ditto.

* count.c (internal_cmd_count): Ditto.

* means.q (validate_dependent_endpoint): Ditto.

* set.q: (cmd_gset) Ditto.

* weight.c: [0] (weight_trns_proc) Ditto.

Sat Dec 27 16:18:16 2003  Ben Pfaff  <blp@gnu.org>

Make the code -Wmissing-prototypes clean.

* Makefile.am (version.c): Add #include "version.h".

* ascii.c: (ascii_open_global) Make static.
(ascii_close_page) Ditto.
(ascii_font_sizes) Ditto.
(ascii_postopen_driver) Ditto.
(ascii_close_driver) Ditto.
(ascii_option) Ditto.
(ascii_open_page) Ditto.
(ascii_line_horz) Ditto.
(ascii_line_vert) Ditto.
(ascii_line_intersection) Ditto.
(ascii_box) Ditto.
(ascii_polyline_begin) Ditto.
(ascii_polyline_point) Ditto.
(ascii_polyline_end) Ditto.
(ascii_text_set_font_by_name) Ditto.
(ascii_text_set_font_by_position) Ditto.
(ascii_text_set_font_by_family) Ditto.
(ascii_text_get_font_name) Ditto.
(ascii_text_get_font_family) Ditto.
(ascii_text_set_size) Ditto.
(ascii_text_get_size) Ditto.
(ascii_text_metrics) Ditto.
(ascii_text_draw) Ditto.
(ascii_close_page) Ditto.

* cmdline.h: New header for parse_command_line().  Used where
needed.

* command.c: Move prototypes for cmd_*() functions to command.h.

* command.h: Prototypes for cmd_*() functions moved here from
command.c.

* crosstabs.q: (gamma_int) Ditto.

* file-handle.h: Add fh_init_files() prototype.

* getline.c: (welcome) Ditto.

* glob.h: New header for init_glob().  Used where appropriate.

* hash.c: (comparison_helper) Ditto.

* html.c: (html_open_global) Ditto.
(html_close_global) Ditto.
(html_preopen_driver) Ditto.
(html_postopen_driver) Ditto.
(html_close_driver) Ditto.
(html_option) Ditto.
(html_open_page) Ditto.
(html_close_page) Ditto.
(html_submit) Ditto.

* inpt-pgm.c: (input_program_source_read) Ditto.

* output.c: (find_defn_value) Ditto.
(destroy_list) Ditto.

* pfm-read.c: (read_int) Ditto.

* postscript.c: (ps_open_global) Ditto.
(ps_close_global) Ditto.
(ps_font_sizes) Ditto.
(ps_preopen_driver) Ditto.
(ps_postopen_driver) Ditto.
(ps_close_driver) Ditto.
(ps_option) Ditto.
(ps_open_page) Ditto.
(ps_close_page) Ditto.
(ps_line_horz) Ditto.
(ps_line_vert) Ditto.
(ps_line_intersection) Ditto.
(ps_box) Ditto.
(ps_polyline_begin) Ditto.
(ps_polyline_point) Ditto.
(ps_polyline_end) Ditto.
(ps_text_set_font_by_name) Ditto.
(ps_text_set_font_by_position) Ditto.
(ps_text_set_font_family) Ditto.
(ps_text_get_font_name) Ditto.
(ps_text_get_font_family) Ditto.
(ps_text_set_size) Ditto.
(ps_text_get_size) Ditto.
(ps_text_metrics) Ditto.
(ps_text_draw) Ditto.

* q2c.c: (finish_up) Ditto.
(xmalloc) Ditto.
(xstrdup) Ditto.
(get_buffer) Ditto.
(st_lower) Ditto.
(st_upper) Ditto.
(skip_ws) Ditto.
(get_line) Ditto.
(add_symbol) Ditto.
(find_symbol) Ditto.
(lex_get) Ditto.
(force_id) Ditto.
(force_string) Ditto.
(match_id) Ditto.
(match_token) Ditto.
(skip_token) Ditto.
(parse) Ditto.
(parse_setting) Ditto.
(parse_specifier) Ditto.
(parse_specifiers) Ditto.
(parse_subcommand) Ditto.
(dump_specifier_vars) Ditto.
(is_keyword) Ditto.
(make_identifier) Ditto.
(dump_declarations) Ditto.
(dump_specifier_init) Ditto.
(dump_vars_init) Ditto.
(make_match) Ditto.
(dump_specifier_parse) Ditto.
(dump_subcommand) Ditto.
(dump_parser) Ditto.
(dump_header) Ditto.
(dump_free) Ditto.
(recognize_directive) Ditto.

* recode.c: (string_to_long) Ditto.

* repeat.c: (find_DO_REPEAT_substitution) Ditto.

* repeat.h: New header for perform_DO_REPEAT_substitutions, used
where appropriate.

* sort.c: (sort_stream_read) Ditto.
(sort_stream_mode) Ditto.

20 years agoSat Dec 27 16:37:07 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:40:05 +0000 (04:40 +0000)]
Sat Dec 27 16:37:07 2003  Ben Pfaff  <blp@gnu.org>

* Makefile.am: (EXTRA_DIST) Add getopt.c, getopt1.c, memcpy.c,
strstr.c, which weren't being distributed for whatever reason.

* gettext.h: Removed.  We use the copy in intl/.

20 years agoSat Dec 27 16:36:05 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Tue, 30 Dec 2003 04:38:03 +0000 (04:38 +0000)]
Sat Dec 27 16:36:05 2003  Ben Pfaff  <blp@gnu.org>

* Makefile.am (MAKEINFO): Removed, since the manual validates (and
should validate from now on).

* pspp.texi: Updated.

20 years agoUpdated the message strings
John Darrington [Tue, 23 Dec 2003 03:35:19 +0000 (03:35 +0000)]
Updated the message strings

20 years agoUpdate authorship.
Ben Pfaff [Mon, 22 Dec 2003 18:33:06 +0000 (18:33 +0000)]
Update authorship.

20 years agoFactored out the bug report mailing address.
John Darrington [Sun, 21 Dec 2003 23:58:04 +0000 (23:58 +0000)]
Factored out the bug report mailing address.

20 years agoCorrected a few typos and clarified some things in the user manual
John Darrington [Sat, 20 Dec 2003 12:26:17 +0000 (12:26 +0000)]
Corrected a few typos and clarified some things in the user manual

20 years agoFixed a howler with pluralism --- impossible to internationalise
John Darrington [Sat, 20 Dec 2003 10:27:57 +0000 (10:27 +0000)]
Fixed a howler with pluralism --- impossible to internationalise

20 years agoFri Dec 19 23:35:04 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 07:40:44 +0000 (07:40 +0000)]
Fri Dec 19 23:35:04 2003  Ben Pfaff  <blp@gnu.org>

* algorithm.c (binary_search): Fix comparison.

20 years agoFri Dec 19 23:27:45 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 07:33:12 +0000 (07:33 +0000)]
Fri Dec 19 23:27:45 2003  Ben Pfaff  <blp@gnu.org>

* algorithm.c: (binary_search) Fix assertion.

20 years agoFri Dec 19 21:31:48 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 05:37:03 +0000 (05:37 +0000)]
Fri Dec 19 21:31:48 2003  Ben Pfaff  <blp@gnu.org>

* sysfile-info.c: (compare_vectors_by_name) Rewrite.

20 years agoFri Dec 19 21:30:24 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 05:35:51 +0000 (05:35 +0000)]
Fri Dec 19 21:30:24 2003  Ben Pfaff  <blp@gnu.org>

* sort.c: (compare_case_lists) Rewrite.

20 years agoFixed the make distcheck target
John Darrington [Sat, 20 Dec 2003 03:31:55 +0000 (03:31 +0000)]
Fixed the make distcheck target

20 years agoFixed some buglets in the tests
John Darrington [Sat, 20 Dec 2003 03:14:26 +0000 (03:14 +0000)]
Fixed some buglets in the tests

20 years agoFri Dec 19 16:44:22 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 00:50:27 +0000 (00:50 +0000)]
Fri Dec 19 16:44:22 2003  Ben Pfaff  <blp@gnu.org>

* quicksort.c: Removed (not used).

* quicksort.h: Removed (not used).

* sort.c: Removed blp_quicksort() prototype.

20 years agoFri Dec 19 16:42:13 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 00:47:56 +0000 (00:47 +0000)]
Fri Dec 19 16:42:13 2003  Ben Pfaff  <blp@gnu.org>

* postscript.c: (int_2_compare) Rewrite.
(compare_line) Rewrite.

20 years agoFri Dec 19 16:38:35 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 00:44:35 +0000 (00:44 +0000)]
Fri Dec 19 16:38:35 2003  Ben Pfaff  <blp@gnu.org>

* matrix-data.c (compare_factors) Use lexicographical_compare()
algorithm.
(compare_doubles) New function.

* algorithm.c: (lexicographical_compare) New algorithm.

20 years agoFri Dec 19 16:23:45 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 00:28:58 +0000 (00:28 +0000)]
Fri Dec 19 16:23:45 2003  Ben Pfaff  <blp@gnu.org>

* matrix-data.c (compare_variables_by_mxd_vartype): Rewrite.

20 years agoFri Dec 19 15:54:45 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 20 Dec 2003 00:25:23 +0000 (00:25 +0000)]
Fri Dec 19 15:54:45 2003  Ben Pfaff  <blp@gnu.org>

* expr-prs.c: (cmp_func) Removed.
(parse_function) Use binary_search() algorithm.
(compare_functions) New function.
(init_func_tab) Use sort() algorithm.

* algorithm.c: (binary_search) New algorithm.

20 years agoFri Dec 19 15:50:45 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Fri, 19 Dec 2003 23:57:18 +0000 (23:57 +0000)]
Fri Dec 19 15:50:45 2003  Ben Pfaff  <blp@gnu.org>

* descript.q: (display) Use sort() algorithm instead of qsort().
(compare_func) Removed.
(descriptives_compare_variables) New function.

20 years agoFri Dec 19 15:08:38 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Fri, 19 Dec 2003 23:42:07 +0000 (23:42 +0000)]
Fri Dec 19 15:08:38 2003  Ben Pfaff  <blp@gnu.org>

Get rid of AVL trees.  Hashes are more appropriate for everything
PSPP does.

* Makefile.am: (pspp_SOURCES) Remove avl.c, avl.h.

* avl.c: Removed.

* avl.h: Removed.

Fri Dec 19 14:33:31 2003  Ben Pfaff  <blp@gnu.org>

Much code can be clarified by using C++ STL-like algorithms.  Not
all uses of these algorithms are listed below, only the ones where
the change to an algorithm was the only change of interest.

* Makefile.am: (pspp_SOURCES) Add algorithm.c, algorithm.h.

* algorithm.c: New file.

* algorithm.h: New file.

* modify-vars.c: (static var forward) Removed.
(static var positional) Removed.
(compare_variables) Removed.
(struct ordering) New.
(cmd_modify_vars) Use sort() algorithm.
(compare_variables_given_ordering) New function.
(rearrange_dict) Use sort() algorithm.

* sysfile-info.c: (cmd_display) Use sort() algorithm.
(cmp_var_by_name) Removed.

Fri Dec 19 14:26:17 2003  Ben Pfaff  <blp@gnu.org>

Make file handles use a hash table.

* file-handle.q: (files) Change to hash table, make static.
(cmd_file_handle) Use hash table functions.
(fh_get_handle_by_filename) Ditto.
(fh_get_handle_by_name) Ditto.
(hash_file_handle) New function.
(cmp_file_handle) Rewrite.
(fh_init_files) Use hash table functions.

Fri Dec 19 14:24:38 2003  Ben Pfaff  <blp@gnu.org>

Clean up FREQUENCIES.

* Makefile.am: (pspp_SOURCES) Remove frequencies.g.

* frequencies.q: Remove a lot of old #if'd out code at the end.
(internal_cmd_frequencies) Use calc() instead of calc_no_weight()
or calc_weight().  Initialize percentile_values.
(calc) New function based on calc_weight() from frequencies.g.
(precalc) Use hash functions.
(static var comparison_func) Removed.
(static var comparison_param) Removed.
(comparison_helper) Removed.
(get_freq_comparator) New function.
(not_missing) New function.
(add_freq) Removed.
(postprocess_freq_tab) Use hash table functions, algorithms,
get_freq_comparator().  Rewrite.
(cleanup_freq_tab) Rephrase.
(add_percentile) Clean up spacing.
(hash_value_numeric) New function.
(hash_value_alpha) New function.
(compare_value_numeric_a) Rewrite.
(compare_value_alpha_a) Rewrite.
(compare_value_numeric_d) Rewrite.
(compare_value_alpha_d) Rewrite.
(compare_freq_numeric_a) Rewrite.
(compare_freq_alpha_a) Rewrite.
(compare_freq_numeric_d) Rewrite.
(compare_freq_alpha_d) Rewrite.
(calc_stats) Clean up mode, percentiles, max.
(dump_statistics) Clean up spacing.

* frequencies.g: Removed.

* var.h: (struct freq_tab) Change `data' to hash table.

Fri Dec 19 14:15:46 2003  Ben Pfaff  <blp@gnu.org>

* file-handle.h: Remove declaration of global variable `files',
which wasn't used anywhere.

* postscript.c: (add_encoding) Remove superfluous cast.
(line) Ditto.

* sfm-read.c: [linux] (bswap_int32) Drop ntohl() non-portable
version.

* temporary.c: [0] (display_tree) Removed.

Fri Dec 19 14:13:04 2003  Ben Pfaff  <blp@gnu.org>

Implement a new random number generator based on the alleged RC4
algorithm.

* expr-evl.c: (expr_evaluate) Use rng_get_double_normal() instead
of rand_normal().

* random.c: [!HAVE_GOOD_RANDOM] (real_rand) Removed.
[!HAVE_GOOD_RANDOM] (real_srand) Removed.
(macro k) Removed.
(static var V[]) Removed.
(static var Y) Removed.
(static var X2) Removed.
(setup_randomize) Removed.
(shuffle) Removed.
(rand_uniform) Removed.
(rand_normal) Removed.
(struct rng) New structure.
(rng_create) New function.
(rng_destroy) New function.
(swap_byte) New static function.
(rng_seed) New function.
(rng_get_bytes) New function.
(rng_get_int) New function.
(rng_get_unsigned) New function.
(rng_get_double) New function.
(rng_get_double_normal) New function.
(pspp_rng) New function.

* random.h: Sync up to random.c.

* sample.c: (struct sample_trns) Make `frac' unsigned and a
fraction of UINT_MAX, not 65536.
(cmd_sample) Use rng_get_unsigned(), rng_get_double(), UINT_MAX
fraction.

* vfm.c: (open_active_file) No need to call setup_randomize() any
longer.

Fri Dec 19 12:05:56 2003  Ben Pfaff  <blp@gnu.org>

Change dictionary name indexes to use hash tables instead of AVL
trees.

* crosstabs.q: (free_var_dict) Use hash tables.
(crs_custom_tables) Ditto.
(calc_general) Ditto.
(compare_table_entry) Rewrite.
(enum_var_values) Reorder parameters.  All references updated.
Rewrite.

* get.c: (rename_variable) Use hash tables.
(mtf_merge_dictionary) Ditto.

* glob.c: (init_glob) Use hash tables.
(cmp_variable) Removed.

* means.q: (mns_custom_tables) Use hash tables.

* modify-vars.c: (rearrange_dict) Use hash tables.

* rename-vars.c: (cmd_rename_variables) Use hash tables.

* sfm-read.c: (read_header) Use hash tables.
(read_variables) Ditto.

* temporary.c: (new_dictionary) Use hash tables.
(save_dictionary) Ditto.
(restore_dictionary) Ditto.

* var.h: (struct dictionary) Change AVL tree `var_by_name' into
hash table `name_tab'.

* vars-atr.c: [DEBUGGING] (dump_one_var_node) Removed.
[DEBUGGING] (dump_var_tree) Removed.
(find_variable) Use hash tables.
(find_dict_variable) Ditto.
(common_init_stuff) Ditto.
(rename_variable) Ditto.
(clear_variable) Ditto.  Also, remove debug code.
(dup_variable) Use hash tables.

* vars-prs.c: (fill_all_vars) Use hash tables.
(is_dict_varname) Ditto.
(parse_dict_variable) Ditto.

Fri Dec 19 11:46:23 2003  Ben Pfaff  <blp@gnu.org>

Change value labels to use hash tables instead of AVL trees, and
change value labels into an ADT.

* Makefile.am: (pspp_SOURCES) Add value-labels.c, value-labels.h.

* value-labels.c: New file.

* value-labels.h: New file.

* apply-dict.c: (cmd_apply_dictionary) Use value label ADT.
Get rid of a stupid use of goto.

* autorecode.c: (compare_alpha_value) Rewrite.
(hash_alpha_value) Ditto.
(compare_numeric_value) Rewrite.
(hash_numeric_value) Ditto.

* frequencies.q: (dump_full) Use value label ADT.

* pfm-read.c: (read_value_label) Use value label ADT.

* pfm-write.c: (write_value_labels) Use value label ADT.

* sfm-read.c: (read_variables) Use value label ADT.
(read_value_labels) Rewrite.

* sfm-write.c: (write_value_labels) Rewrite.

* sysfile-info.c: (cmd_sysfile_info) Use value label ADT.
(display_variables) Ditto.
(describe_variable) Ditto.

* t-test.q: (print_t_groups) Use value label ADT.

* temporary.c: (copy_variable) Use value label ADT.
(free_dictionary) Ditto.

* val-labs.c: (verify_val_labs) Use value label ADT.
(get_label) Ditto.
(debug_print) Ditto.
(val_lab_cmp) Removed.
(inc_ref_count) Removed.
(copy_value_labels) Removed.

* var.h: (struct value_label) Removed.
(struct variable) Change AVL tree `val_lab' into hash table
`val_labs'.

* vars-atr.c: (init_variable) Use value label ADT.
(clear_variable) Ditto.
(free_value_label) Removed.
(free_val_lab) Removed.
(get_val_lab) Removed.
(compare_variables) New function.
(hash_variable) New function.

* vfm.c: (dump_splits) Use value label ADT.

Fri Dec 19 11:18:11 2003  Ben Pfaff  <blp@gnu.org>

Add to the hash table interface.

* hash.c: (hsh_hash_bytes) Add assertion.
(hsh_hash_string) Ditto.
(hsh_clear) Ditto.
(hsh_rehash) Ditto.
(hsh_probe) Ditto.
(hsh_create) Ditto.  Also make minimum `size'.
(hsh_destroy) Rephrase.
(sort_nulls_last) Removed.
(not_null) New function.
(hsh_data) Ditto.
(comparison_helper) Ditto.
(hsh_sort) Rewritten.
(hsh_data_copy) New function.
(hsh_sort_copy) Ditto.
(hsh_insert) Ditto.
(hsh_replace) Ditto.
(hsh_hash_double) Ditto.
(hsh_delete) Fix stupid bug.

20 years agoAdded an implementation for FREQUENCIES/PERCENTILES
John Darrington [Fri, 19 Dec 2003 07:17:59 +0000 (07:17 +0000)]
Added an implementation for FREQUENCIES/PERCENTILES

20 years agoUpdate.
Ben Pfaff [Fri, 19 Dec 2003 07:02:52 +0000 (07:02 +0000)]
Update.

20 years agoAdded a calculation of mode to FREQUENCIES
John Darrington [Thu, 18 Dec 2003 04:25:59 +0000 (04:25 +0000)]
Added a calculation of mode to FREQUENCIES

20 years agoAdded a test for the FILTER command
John Darrington [Thu, 18 Dec 2003 02:12:11 +0000 (02:12 +0000)]
Added a test for the FILTER command

20 years agoFixed buglet in gmp CHECK_LIB
John Darrington [Thu, 18 Dec 2003 00:42:13 +0000 (00:42 +0000)]
Fixed buglet in gmp CHECK_LIB

20 years agoFix complaints by recent Texinfo versions.
Ben Pfaff [Wed, 17 Dec 2003 18:12:31 +0000 (18:12 +0000)]
Fix complaints by recent Texinfo versions.

20 years agoAdded a test for the WEIGHT command
John Darrington [Wed, 17 Dec 2003 06:03:19 +0000 (06:03 +0000)]
Added a test for the WEIGHT command

20 years agoAdded a test for the compute command.
John Darrington [Wed, 17 Dec 2003 05:39:14 +0000 (05:39 +0000)]
Added a test for the compute command.

20 years agoAdded a --enable-debug option to configure and
John Darrington [Wed, 17 Dec 2003 04:58:49 +0000 (04:58 +0000)]
Added a --enable-debug option to configure and
moved (un)def of DEBUGGING from src files to config.h

20 years agoAdded a test for the LIST command
John Darrington [Wed, 17 Dec 2003 01:28:10 +0000 (01:28 +0000)]
Added a test for the LIST command

20 years agoAdded a test for the FILE LABEL and DOCUMENT commands
John Darrington [Wed, 17 Dec 2003 01:09:47 +0000 (01:09 +0000)]
Added a test for the FILE LABEL and DOCUMENT commands

20 years agoAdded a couple more tests
John Darrington [Wed, 17 Dec 2003 01:08:29 +0000 (01:08 +0000)]
Added a couple more tests

20 years agoAdded tests for LOOP and SAMPLE commands
John Darrington [Wed, 17 Dec 2003 00:30:15 +0000 (00:30 +0000)]
Added tests for LOOP and SAMPLE commands

20 years agoFixed a problem with some tests
John Darrington [Tue, 16 Dec 2003 23:44:28 +0000 (23:44 +0000)]
Fixed a problem with some tests

20 years agoSample proportion is only approximate.
Ben Pfaff [Tue, 16 Dec 2003 17:53:07 +0000 (17:53 +0000)]
Sample proportion is only approximate.