X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2FChangeLog;h=eb405c3516cce83d6602c25234aea103947657ee;hb=f9d47b5bba8416419cf3bcd3aa23c2d40a05fcac;hp=0c7b9fb1d7acabc7267ce892b165df29bd9f7eae;hpb=5906e30c29662d12594199e1652ba3a7e5670944;p=pspp diff --git a/src/ChangeLog b/src/ChangeLog index 0c7b9fb1d7..eb405c3516 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,426 @@ +Tue Mar 2 11:36:52 2004 Ben Pfaff + + * frequencies.q: (cleanup_freq_tab) Avoid memory leak by + destroying hash table. + + * glob.c: (read_active_file) Variable not referenced, removed. + (cancel_input_pgm) Ditto. + + * levene.c: Add #include needed to call free(). + + * aggregate.c: (parse_aggregate_functions) Make `function' + variable const. + +Tue Mar 2 11:30:56 2004 Ben Pfaff + + Start working to eliminate VFM dependence on static variables. + + * command.c: (cmd_parse) Use case_source_is_class(). + + * data-list.c: Rewrite to eliminate use of static variables. + + * dfm.c: (cmd_begin_data) Use case_source_is_class(). + + * file-handle.q: (fh_handle_name) Make parameter const. + + * file-type.c: Rewrite to eliminate use of static variables. + + * flip.c: Rewrite to eliminate use of static variables. + + * format.c: (get_format_var_width) New function. + + * get.c: Eliminate use of static variables. + + * inpt-pgm.c: Eliminate use of static variables. + + * matrix-data.c: Eliminate use of static variables. + + * set.q: (set_max_workspace) New variable. + (cmd_set) Use SET WORKSPACE to modify set_max_workspace. + + * var.h: (struct case_list) Move here from vfmP.h. + + * vars-atr.c: (discard_variables) Handle new vfm_source type. + + * vfm.c: (vfm_source) Change type from struct case_stream to + struct case_source. + (vfm_sink) Change type from struct case_stream to struct + case_sink. + (static var paging) Rename workspace_overflow, all references + updated. + (procedure) Use new class structures. + (process_active_file) Ditto. + (process_active_file_write_case) Ditto. + (prepare_for_writing) Use set_max_workspace. Use new class + structures. + (close_active_file) Use new class structures. Free old sink. + (global var disk_source_file) Removed. + (global var disk_sink_file) Removed. + (disk_stream_init) Removed. + (disk_stream_read) Removed. + (disk_stream_write) Removed. + (disk_stream_mode) Removed. + (disk_stream_destroy_source) Removed. + (disk_stream_destroy_sink) Removed. + (global var vfm_disk_stream) Removed. + (disk_sink_create) New function. + (disk_sink_write) New function. + (disk_sink_destroy) New function. + (disk_sink_make_source) New function. + (disk_sink_class) New static var. + (disk_source_read) New function. + (disk_source_destroy) New function. + (global var vfm_source_class) New var. + (global var memory_source_cases) Removed. + (global var memory_sink_cases) Removed. + (global var memory_sink_max_cases) Removed. + (struct memory_sink_info) New struct. + (memory_stream_init) Removed. + (memory_stream_read) Removed. + (memory_stream_write) Removed. + (memory_stream_mode) Removed. + (memory_stream_destroy_source) Removed. + (memory_stream_destroy_sink) Removed. + (global var vfm_memory_stream) Removed. + (page_to_disk) Renamed write_active_file_to_disk(). + (memory_sink_create) New function. + (memory_sink_write) New function. + (memory_sink_destroy) New function. + (memory_sink_make_source) New function. + (memory_sink_class) New static var. + (memory_source_read) New function. + (memory_source_destroy) New function. + (memory_source_get_cases) New function. + (memory_source_set_cases) New function. + (global var vfm_source_class) New var. + (procedure_write_case) Use new class structures. + (create_case_source) New function. + (case_source_is_complex) New function. + (case_source_is_class) New function. + (create_case_sink) New function. + + * vfm.h: (global variable reinit_sysmis) Not used, removed. + (global variable reinit_blanks) Not used, removed. + (global variable init_zero) Not used, removed. + (global variable init_blanks) Not used, removed. + (struct case_source) New struct. + (struct case_source_class) New struct. + (struct case_sink) New struct. + (struct case_sink_class) New struct. + (struct case_stream) Removed. + + * vfmP.h: (struct case_list) Moved to var.h. + +Tue Mar 2 11:28:30 2004 Ben Pfaff + + * algorithm.c: (count_equal) New function. + (count_if) New function. + (unique) Add assertions. + (partition) Add assertions. + (is_partitioned) New function. + (copy_if) Add assertions. + (remove_equal) Add assertions. + (lexicographical_compare) Rename lexicographical_compare_3way. + (sort) Add assertions. Rephrase some code. + (is_sorted) New function. + +Sun Feb 29 23:24:57 2004 Ben Pfaff + + Rewrite SORT CASES. + + * sort.c: Completely rewrite. + + * sort.h: Expose interface via struct sort_cases_pgm, not via + global variables. + + * aggregate.c: (sort) New static var. + (cmd_aggregate) Use sort. + (create_sysfile) Ditto. + (aggregate_single_case) Ditto. + (dump_aggregate_info) Ditto. + (agr_00x_end_func) Ditto. + (debug_print) Ditto. + + * var.h: (enum SRT_ASCEND) Removed. + (enum SRT_DESCEND) Removed. + (struct sort_cases_proc) Removed. + (struct variable) Remove p.srt member. + +Sun Feb 29 23:22:45 2004 Ben Pfaff + + Get rid of the old, crappy heap structure and replace it by a new, + shiny, C++ STL-like heap structure. + + * Makefile.am: (pspp_SOURCES) Remove heap.c, heap.h. + + * algorithm.c: (push_heap) New function. + (heapify) Ditto. + (pop_heap) Ditto. + (make_heap) Ditto. + (sort_heap) Ditto. + (is_heap) Ditto. + + * heap.c: Removed. + + * heap.h: Removed. + +Sun Feb 29 23:21:53 2004 Ben Pfaff + + Increase warning level. + + * Makefile.am: (AM_CFLAGS) Remove -Wnouninitialized. + +Sat Feb 21 17:38:58 WST 2004 John Darrington + + * main.c: Added a signal handler for SIGSEGV requesting a bug report. + +Fri Feb 20 23:22:14 2004 Ben Pfaff + + * dictionary.c: (dict_create_var) Fix root cause of bug worked + around by previous change log entry. + + * compute.c: (lvalue_finalize) Remove workaround from previous + change log entry. + +Fri Feb 20 14:37:41 WAST 2004 John Darrington + + * compute.c: Fixed a bug where the Format was not getting set for + computed variables (thus causing a crash when SAVEing). + + * Added a test to stop this bug ever coming back + +Wed Feb 18 22:21:35 2004 Ben Pfaff + + Got rid of approx.h. In general, replaced all references to + approx_eq() by ==, approx_lt() by <, etc. Other types of changes + noted below. + + * Makefile.am: (pspp_SOURCES) Removed approx.h. + + * data-out.c: (try_F) Replaced test for approx_eq(number, 0.0) by + test for mag < EPSILON. + + * misc.h: Add definition of EPSILON. + +Wed Feb 18 21:32:44 2004 Ben Pfaff + + * vfm.c: (procedure) Add check to prevent recursive call. + +Wed Feb 18 21:48:54 WST 2004 John Darrington + + * Moved the declarations relating to values to their own header file + (val.h) + + * Added levene.c and levene.h + + * vars-atr.c: Changed the signature of compare_values to + take const * arguments. + + * t-test.q: Changed the structure of struct t_test_proc + variables now contain their own group statistics information. + Eventually, t_test_proc might get renamed, because it'd be + applicable to other commands too. + +Mon Feb 16 23:15:51 2004 Ben Pfaff + + * data-out.c: Clean up. Changed interface of convert_*() to take + either a `double' or a `const char *' instead of a `const union + value *'. Update all implementations of those interfaces. + (data_out) Use switch statements instead of a table. + (convert_AHEX) Rewrite. + + * format.h: Update comment. + +Mon Feb 16 22:14:36 2004 Ben Pfaff + + * q2c.c: (dump_header) 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. + +Mon Feb 16 22:12:07 2004 Ben Pfaff + + * frequencies.q: (compare_freq_numeric_a) Compare by frequency, + not bogus a->v.c <=> b->v.c pointer compare. + (compare_freq_alpha_a) Ditto. + (compare_freq_numeric_d) Ditto. + (compare_freq_alpha_d) Ditto. + +Mon Feb 16 22:00:53 2004 Ben Pfaff + + Changed data_out() to store string data directly into a `union + value''s s member, not indirectly into c. + + * crosstabs.q: (output_pivot_table) Use format_short() instead of + data_out(). + (table_value_missing) Ditto. + (float_M_suffix) Ditto. + (format_short) New function. + + * data-in.h: (data_in_finite_line) Remove inline definition. + + * data-list.c: (destroy_dls_var_spec) New function. + (destroy_dls) Rewrite in terms of destroy_dls_var_spec(). + (data_list_source_destroy_source) Avoid cast. + (struct repeating_data_trns) New field `id_value'. Update + comments. + (cmd_repeating_data) Initialize id_value. Use new + repeating_data_trns_free() for freeing REPEATING DATA + transformations. + (rpd_parse_record) Rewrite support for record ID to be less bogus. + (repeating_data_trns_free) New function. + + * data-out.c: (data_out) Change return type to `void' by replacing + error returns by writing a message into the output buffer. + (convert_A) Read from v->s instead of v->c. + (convert_AHEX) Ditto. + + * expr-evl.c: Update comment. + (expr_evaluate) Add assertion in OP_STRING case. + + * format.h: (macro MAX_FORMATTED_LEN) New macro. + + * list.q: (list_cases) Update for new data_out() semantics. + + * print.c: (print_trns_proc) Ditto. + + * tab.c: (tab_value) Ditto. + (tab_float) Avoid stupid cast. + + * var.h: Update comments. + (macro MAX_STRING) New macro. + (macro MAX_ELEMS_PER_VALUE) New macro. + + * vars-atr.c: (compare_values) New function. + + * vfm.c: (dump_splits) Update for new data_out() semantics. + +Mon Feb 16 21:45:47 2004 Ben Pfaff + + * crosstabs.q: (struct table_entry) Rename v[] to values[]. All + references updated. + (struct crosstab) Rename v[] to vars[]. All references updated. + (hash_table_entry) Replace the hash algorithm and fix a bug at the + same time, which caused the hash value to depend only on a single + value, not all of the variables' values. + +Mon Feb 16 12:49:53 2004 Ben Pfaff + + Clean up struct dictionary's value_cnt usage. + + * dictionary.c: Add a function comment to each function. + (struct dictionary) Rename value_cnt to next_value_idx, which more + accurately reflects its meaning. All references updated. + (dict_rename_vars) Add assertion. + (dict_get_value_cnt) Rename dict_get_next_value_idx(). All + references updated. + (dict_get_case_size) New function. + + * aggregate.c: (create_sysfile) Use dict_get_case_size(). + + * get.c: (mtf_read_nonactive_records) Ditto. + + * sort.c: (allocate_cases) Ditto. + (write_initial_runs) Ditto. + (merge) Ditto. + (merge_once) Ditto. + + * vfm.c: (prepare_for_writing) Ditto. + (setup_lag) Ditto. + (lag_case) Ditto. + +Mon Feb 16 00:17:55 2004 Ben Pfaff + + Make vfm.c slightly less grotesque. + + * vfm.c: (filter_var) Removed. + (filter_index) Removed. + (FILTERED macro) Removed. + (exclude_this_case) New function. + (process_active_file_write_case) Use exclude_this_case() instead + of FILTERED and inline tests. + (procedure_write_case) Ditto. + (setup_filter) Removed. + (open_active_file) Don't call setup_filter(). + (close_active_file) Call dict_get_filter() instead of checking + filter_var. + +Mon Feb 16 00:01:53 2004 Ben Pfaff + + * var.h: (struct variable) Update comments. + +Sun Feb 15 23:14:59 2004 Ben Pfaff + + New functions dict_create_var_assert(), dict_lookup_var_assert(). + Converted several dict_*_var()/assert pairs into a single + dict_*_var_assert(). + + * dictionary.c: (dict_create_var_assert) New function. + (dict_lookup_var_assert) New function. + +Sun Feb 15 23:06:08 2004 Ben Pfaff + + Got rid of "struct long_vec", envector(), devector(), etc. Added + two members `init', `reinit' to struct variable as a substitute. + + * Makefile.am: (pspp_SOURCES) Removed cases.c, cases.h. + + * cases.c: Removed. + + * cases.h: Removed. + + * aggregate.c: (parse_aggregate_functions) destvar doesn't need + init. + + * autorecode.c: (cmd_autorecode) destvars don't need init. + + * compute.c: (lvalue_finalize) Set reinit. + + * data-list.c: (fixed_parse_compatible) Don't need init usually. + (dump_fmt_list) Ditto. + (parse_free) Ditto. + + * descript.q: (run_z_pass) Don't need init for z-scores. + + * dictionary.c: (dict_create_var) Initialize `init', `reinit' + members. + (dict_clone_var) Copy `reinit' member, initialize `init' member. + + * glob.c: (init_glob) Remove vec_init() calls. + + * inpt-pgm.c: (cmd_end_input_program) Use `reinit', not `left'. + + * loop.c: (internal_cmd_loop) Don't need to call envector(). + + * numeric.c: (cmd_numeric) Ditto. + (cmd_string) Ditto. + (cmd_leave) Ditto. Set `init', `reinit' members. + + * recode.c: (cmd_recode) Don't need to call envector(). + + * repeat.c: (internal_cmd_do_repeat) Ditto. + + * var.h: (struct variable) Remove `left'. Add `init', `reinit'. + (force_create_variable) Removed prototype. + (force_dup_variable) Ditto. + + * vector.c: (cmd_vector) Don't need to call envector(). + + * vfm.c: (reinit_sysmis) Removed. + (reinit_blanks) Removed. + (init_zero) Removed. + (init_blanks) Removed. + (process_active_file_write_case) No need to deal with vectors. + Call clear_temp_case(). + (vector_initialization) Rewrite to use `init', `reinit'. + (close_active_file) No need to call vec_clear(). + (procedure_write_case) Call clear_temp_case(). + (clear_temp_case) New function. + +Sun Feb 15 20:50:36 2004 Ben Pfaff + + * pfm-write.c: (bufwrite) Get rid of nasty cast that also invoked + undefined behavior. + Thu Feb 12 23:35:15 2004 Ben Pfaff Add auxiliary argument to procedure() interface. Associated small