pspp-builds.git
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.

20 years agoFixed another problem with print.sh
John Darrington [Tue, 16 Dec 2003 11:19:51 +0000 (11:19 +0000)]
Fixed another problem with print.sh

20 years agoFixed up the PRINT test
John Darrington [Tue, 16 Dec 2003 10:48:34 +0000 (10:48 +0000)]
Fixed up the PRINT test

20 years agoAdded new tests
John Darrington [Tue, 16 Dec 2003 08:59:04 +0000 (08:59 +0000)]
Added new tests

20 years agoAdded a test to ensure that tabs can be input into strings
John Darrington [Tue, 16 Dec 2003 08:57:10 +0000 (08:57 +0000)]
Added a test to ensure that tabs can be input into strings

20 years agoAdded a test for the lag command and started on the sample command
John Darrington [Tue, 16 Dec 2003 08:30:11 +0000 (08:30 +0000)]
Added a test for the lag command and started on the sample command

20 years agoAdded test for a bug in crosstab.q which caused a crash
John Darrington [Tue, 16 Dec 2003 06:54:44 +0000 (06:54 +0000)]
Added test for a bug in crosstab.q which caused a crash

20 years agoFixed bug in crosstabs.q which caused a system crash
John Darrington [Tue, 16 Dec 2003 06:45:03 +0000 (06:45 +0000)]
Fixed bug in crosstabs.q which caused a system crash

20 years agoFix spacing.
Ben Pfaff [Tue, 16 Dec 2003 05:43:49 +0000 (05:43 +0000)]
Fix spacing.

20 years ago * groff-font.c: (add_kern) Fix indentation.
Ben Pfaff [Tue, 16 Dec 2003 05:43:20 +0000 (05:43 +0000)]
* groff-font.c: (add_kern) Fix indentation.
(add_kern) Use & instead of % to take power-of-2 modulus.
(font_get_kern_adjust) Likewise.

20 years agoAltered return status to be non zero if there are errors parsing data
John Darrington [Tue, 16 Dec 2003 05:20:36 +0000 (05:20 +0000)]
Altered return status to be non zero if there are errors parsing data

20 years agoAdded a test for the PRINT command
John Darrington [Tue, 16 Dec 2003 05:14:54 +0000 (05:14 +0000)]
Added a test for the PRINT command

20 years agoAdded tests for descriptives and flip
John Darrington [Tue, 16 Dec 2003 02:57:32 +0000 (02:57 +0000)]
Added tests for descriptives and flip

20 years agoAdded tests for count and sort
John Darrington [Tue, 16 Dec 2003 01:08:35 +0000 (01:08 +0000)]
Added tests for count and sort

20 years agoFixed up the test for big numbers
John Darrington [Tue, 16 Dec 2003 00:14:24 +0000 (00:14 +0000)]
Fixed up the test for big numbers

20 years agoFixed some changes, which didn't work with certain versions of diff
John Darrington [Mon, 15 Dec 2003 23:56:49 +0000 (23:56 +0000)]
Fixed some changes, which didn't work with certain versions of diff

20 years agoStarted converting the make check target to aegis style tests
John Darrington [Mon, 15 Dec 2003 13:48:52 +0000 (13:48 +0000)]
Started converting the make check target to aegis style tests

20 years agoPatched bug(s) in postscipt driver
John Darrington [Mon, 15 Dec 2003 07:35:06 +0000 (07:35 +0000)]
Patched bug(s) in postscipt driver

20 years agoFixed buglet building under cygwin
John Darrington [Mon, 15 Dec 2003 05:51:56 +0000 (05:51 +0000)]
Fixed buglet building under cygwin

20 years agoFixed bug initialising termcap
John Darrington [Mon, 15 Dec 2003 03:06:15 +0000 (03:06 +0000)]
Fixed bug initialising termcap

20 years agoRe adding files in intl, which I forgot
John Darrington [Sat, 13 Dec 2003 11:25:09 +0000 (11:25 +0000)]
Re adding files in intl, which I forgot

20 years agoFixed intl/ and some tests, so that the project can be built and tested
John Darrington [Sat, 13 Dec 2003 11:18:31 +0000 (11:18 +0000)]
Fixed intl/ and some tests, so that the project can be built and tested
from outside of the source tree (or at least it will when some bugs are
squashed)

20 years agoFixed up the tests, so that make check now works
John Darrington [Sat, 13 Dec 2003 08:48:54 +0000 (08:48 +0000)]
Fixed up the tests, so  that make check now works

20 years ago * syntax: Run a diff when there's no expected output, too.
Ben Pfaff [Sat, 13 Dec 2003 08:13:10 +0000 (08:13 +0000)]
* syntax: Run a diff when there's no expected output, too.

20 years agoFri Dec 12 23:54:37 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Sat, 13 Dec 2003 08:11:55 +0000 (08:11 +0000)]
Fri Dec 12 23:54:37 2003  Ben Pfaff  <blp@gnu.org>

* autorecode.c: (recode) Replace stupid use of memcpy() by
memberwise copy.
(hash_alpha_value) Use hsh_hash_bytes().  Get rid of nasty casts.
(hash_numeric_value) Ditto.
(autorecode_proc_func) pool_strdup() was wrong here because the
source string was not null-terminated.  Use new pool_strndup()
instead.

* crosstabs.q: (enum_var_values) Remove superfluous and bizarre
use of hsh_iterator_init().

* data-in.c: (parse_N) Initialize i->v->f.

* flip.c: (cmd_flip) Use memmove(), not memcpy(), to copy
overlapping arrays.

* groff-font.c: Use power-of-2 hash table sizes, not prime.
(groff_read_font) Don't call hsh_next_prime().  Don't call
fclose(NULL).
(static var hash) Remove `size_p', `max_used' members.
(font_char_name_to_index) Don't call hsh_next_prime().  Use
hsh_hash_string() instead of hashpjw(), & instead of %.
(default_font) Don't call hsh_next_prime().

* pool.c: (pool_strndup) New function.
(pool_strdup) Reimplement in terms of pool_strndup.

* postscript.c: (hash_font_entry) Use hsh_hash_string().  Get rid
of nasty casts.
(hash_ps_encoding) Use hsh_hash_string().
(hash_ps_combo) Use hsh_hash_string(), hsh_hash_int().
(hash_filename2font) Use hsh_hash_string().

* som.c: Add #include <stdlib.h>.

* tab.c: (tab_destroy) Don't set t->container after freeing `t'
(by destroying its pool).

Fri Dec 12 23:18:59 2003  Ben Pfaff  <blp@gnu.org>

Miscellaneous hash table code cleanup:

* hash.h: (struct hsh_table) Moved into hash.c.
(hsh_count) Ditto, and transformed into function.
(hsh_compare_func) New typedef, used for defining otherwise-long
function types here and in hash.c
(hsh_hash_func) Ditto.
(hsh_free_func) Ditto.

* hash.c: (struct hsh_table) Renamed `n' to `used', `m' to `size',
`table' to `entries'.  Removed `mp'.  All references updated.
(hsh_clear) Don't shrink entries array; if the hash was this big
once, it probably will be again.
(hsh_rehash) Made static.
(force_hsh_insert) Renamed hsh_force_insert.
(force_hsh_find) Renamed hsh_force_find.

Made hash table sizes powers of 2, because that's fine with any
reasonable hash function and because taking a power-of-2 modulus
is faster than any other:

(hsh_prime_tab) Removed;
(hsh_next_prime) Ditto.
(next_power_of_2) New function.
(hsh_create) Use next_power_of_2.
(hsh_rehash) Use & instead of %.

Cleaned up hsh_sort:

(internal_comparison_fn) Removed.
(sort_nulls_last) New function.
(hsh_sort) Removed second parameter, switched to using the new
quicksort() function from quicksort.h to avoid using nasty need
for static variables with qsort().  All references updated.

Changed the hash functions offered, because there are better hash
functions than the ones we had, and cleaned up the names to boot:

* hash.c: (hashpjw_d) Removed.
(hashpjw) Ditto.
(hsh_hash_bytes) New function.
(hsh_hash_string) New function.
(hsh_hash_int) New function.

Improved the hash table iteration interface:

* hash.h: (hsh_iterator_init) Removed.
(struct hsh_iterator) Removed `init' member, change `next' to
size_t.

* hash.c: (hsh_foreach) Removed.  All references updated to use
hsh_first/hsh_next instead.
(hsh_first) New function.  Notably, unlike hsh_foreach() it does
not treat a null pointer as an empty hash table.
(hsh_next) New function.

Made deletion possible, though slow:

* hash.c: (locate_matching_entry) New function.
(hsh_find) Use locate_matching_entry().
(hsh_delete) New function also using locate_matching_entry().
(hsh_force_delete) New function.

Fri Dec 12 23:16:10 2003  Ben Pfaff  <blp@gnu.org>

* quicksort.c: New file implementing a sort routine with a
interface better than qsort() because it passes a user-provided
parameter to the sort routine.

* Makefile.am: Add quicksort.c, quicksort.h.

20 years ago * qsort.c: Removed because it was unused.
Ben Pfaff [Sat, 13 Dec 2003 07:17:25 +0000 (07:17 +0000)]
* qsort.c: Removed because it was unused.

* Makefile.am: Revised accordingly, and simplified because
Automake 1.7 is smarter than 1.4 was.

20 years agoAdd lots of files that should be ignored.
Ben Pfaff [Sat, 13 Dec 2003 06:56:11 +0000 (06:56 +0000)]
Add lots of files that should be ignored.

20 years ago * All source files: Get rid of nasty special cases for
Ben Pfaff [Fri, 12 Dec 2003 21:39:53 +0000 (21:39 +0000)]
* All source files: Get rid of nasty special cases for
Checker, which is pretty obsolete now.

20 years agoFixed my immediately preceeding error
John Darrington [Fri, 12 Dec 2003 08:38:56 +0000 (08:38 +0000)]
Fixed my immediately preceeding error

20 years agoPut back a bug fix which accidently got reverted.
John Darrington [Fri, 12 Dec 2003 08:32:08 +0000 (08:32 +0000)]
Put back a bug fix which accidently got reverted.

20 years agoRemoved reconfigure from the EXTRA_dist target, cos it doesn't exist any
John Darrington [Fri, 12 Dec 2003 08:25:45 +0000 (08:25 +0000)]
Removed reconfigure from the EXTRA_dist target, cos it doesn't exist any
more

20 years agoFixed buglet where the default config path was getting set wrong
John Darrington [Fri, 12 Dec 2003 08:24:42 +0000 (08:24 +0000)]
Fixed buglet where the default config path was getting set wrong

20 years ago#include "common.h" should be #include "alloc.h" (again).
Ben Pfaff [Fri, 12 Dec 2003 04:07:41 +0000 (04:07 +0000)]
#include "common.h" should be #include "alloc.h" (again).

20 years agoFixed some problems building under cygwin
John Darrington [Fri, 12 Dec 2003 03:36:19 +0000 (03:36 +0000)]
Fixed some problems building under cygwin

20 years agoNot needed anymore.
Ben Pfaff [Fri, 12 Dec 2003 03:18:53 +0000 (03:18 +0000)]
Not needed anymore.

20 years agoFixed a bug apparent when using the FREQUENCIES command with the html driver
John Darrington [Thu, 11 Dec 2003 13:40:08 +0000 (13:40 +0000)]
Fixed a bug apparent when using the FREQUENCIES command with the html driver

20 years agoAdded a READMe.developer file
John Darrington [Thu, 11 Dec 2003 11:37:52 +0000 (11:37 +0000)]
Added a READMe.developer file

20 years agoRemoved auto generated files from the repository
John Darrington [Thu, 11 Dec 2003 11:32:27 +0000 (11:32 +0000)]
Removed auto generated files from the repository

20 years agoGNU_PACKAGE no longer exists; use "GNU @PACKAGE@" instead.
Ben Pfaff [Thu, 11 Dec 2003 08:31:25 +0000 (08:31 +0000)]
GNU_PACKAGE no longer exists; use "GNU @PACKAGE@" instead.

20 years agoUpdate build system to Autoconf 2.58, Automake 1.7, gettext 0.12.1.
Ben Pfaff [Thu, 11 Dec 2003 08:26:16 +0000 (08:26 +0000)]
Update build system to Autoconf 2.58, Automake 1.7, gettext 0.12.1.

20 years agoUpdate build system to Autoconf 2.58, Automake 1.7, gettext 0.12.1.
Ben Pfaff [Thu, 11 Dec 2003 08:17:58 +0000 (08:17 +0000)]
Update build system to Autoconf 2.58, Automake 1.7, gettext 0.12.1.

20 years agoWed Dec 10 23:36:16 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Thu, 11 Dec 2003 07:40:52 +0000 (07:40 +0000)]
Wed Dec 10 23:36:16 2003  Ben Pfaff  <blp@gnu.org>

* lib/gmp/: Removed, because it no longer compiles with recent GCC
versions.

20 years agoWed Dec 10 23:32:47 2003 Ben Pfaff <blp@gnu.org>
Ben Pfaff [Thu, 11 Dec 2003 07:37:23 +0000 (07:37 +0000)]
Wed Dec 10 23:32:47 2003  Ben Pfaff  <blp@gnu.org>

* sysdeps/: Removed, because everything was too old to be useful
anymore.

20 years agoFixed bug where pspp would crash if no startup files could be found.
John Darrington [Thu, 11 Dec 2003 07:16:50 +0000 (07:16 +0000)]
Fixed bug where pspp would crash if no startup files could be found.

20 years ago*** empty log message ***
John Darrington [Thu, 11 Dec 2003 07:16:07 +0000 (07:16 +0000)]
*** empty log message ***

20 years agoadded a changelog entr ywhich I\'d forgotten'
John Darrington [Thu, 11 Dec 2003 07:11:03 +0000 (07:11 +0000)]
added a changelog entr ywhich I\'d forgotten'

20 years agoFixed memory problem in frequencies.q
John Darrington [Thu, 11 Dec 2003 06:58:56 +0000 (06:58 +0000)]
Fixed memory problem in frequencies.q

20 years ago * glob.c: Add #include <stdio.h> the readline.h #include, which
Ben Pfaff [Thu, 11 Dec 2003 06:17:20 +0000 (06:17 +0000)]
* glob.c: Add #include <stdio.h> the readline.h #include, which
fixes problems for some readline versions that refer to FILE but
don't #include <stdio.h> themselves.

20 years ago * getdelim.c, alloca.c: common.h is no longer, but alloc.h
Ben Pfaff [Thu, 11 Dec 2003 06:06:01 +0000 (06:06 +0000)]
* getdelim.c, alloca.c: common.h is no longer, but alloc.h
declares the allocation functions.

20 years agocheckin of 0.3.0
John Darrington [Wed, 10 Dec 2003 23:56:04 +0000 (23:56 +0000)]
checkin of 0.3.0

20 years agocheckin of 0.3.0
John Darrington [Wed, 10 Dec 2003 23:27:28 +0000 (23:27 +0000)]
checkin of 0.3.0