X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fdata%2FChangeLog;h=a30f8927cb13c80c4daea604d7371eab05410477;hb=7579fa32442ac9b623043f8cd995d9b6aa550e51;hp=4f72a217e864169d464c9129f3708e1f6957e135;hpb=cf2b8455da9e0ae5359740dcb6ad2037046f88e7;p=pspp diff --git a/src/data/ChangeLog b/src/data/ChangeLog index 4f72a217e8..a30f8927cb 100644 --- a/src/data/ChangeLog +++ b/src/data/ChangeLog @@ -1,3 +1,149 @@ +Fri Dec 22 13:56:08 2006 Ben Pfaff + + Simplify missing value handling. + + * missing-values.h (enum mv_class): New type. + (enum mv_type): Moved definition into missing-values.c and renamed + each MV_* to MVT_*, to distinguish them from the exposed mv_class + enums. Updated all uses. + (struct missing_values): Changed type of `type' from `enum + mv_type' to `int' because the definition is no longer exposed. + + * missing-values.c (mv_is_value_missing): Add new enum mv_class + parameter. Update all callers. + (mv_is_num_missing): Ditto. + (mv_is_str_missing): Ditto. + (mv_is_value_user_missing): Removed. Changed callers to use + mv_is_value_missing. + (mv_is_num_user_missing): Removed. Changed callers to use + mv_is_num_missing. + (mv_is_str_user_missing): Removed. Changed callers to use + mv_is_str_missing. + (mv_is_value_system_missing): Removed. Changed callers to use + mv_is_value_missing. + (mv_set_type): Removed. Changed callers to use mv_clear. + (mv_clear): New function. + + * variable.c (var_is_value_missing): Add new enum mv_class + parameter. Update all callers. + (var_is_num_missing): Ditto. + (var_is_str_missing): Ditto. + (var_is_value_user_missing): Removed. Changed callers to use + var_is_value_missing. + (var_is_num_user_missing): Removed. Changed callers to use + var_is_num_missing. + (var_is_str_user_missing): Removed. Changed callers to use + var_is_str_missing. + (var_is_value_system_missing): Removed. Changed callers to use + var_is_value_missing. + + * casefilter.c (struct casefilter): Use enum mv_class in place of + bool. + (casefilter_variable_missing): Adapt to new member. + (casefilter_create): Change signature to take enum mv_class, + update callers. + +Fri Dec 22 20:08:38 WST 2006 John Darrington + + * casefile-factory.h fastfile-factory.c fastfile-factory.h: New files. + + * case-sink.c case-sink.h procedure.c procedure.h + storage-stream.c: Now uses the factory. + +Sat Dec 16 22:05:18 2006 Ben Pfaff + + Make it possible to pull cases from the active file with a + function call, instead of requiring indirection through a callback + function. + + * case-source.h (struct case_source_class): Change ->read function + to return a single case, instead of calling a callback function + for each case. Change ->destroy function to return an error + status. + + * case-source.c (free_case_source): Pass along the value returned + by the case_source ->destroy function. + + * procedure.c (struct write_case_data): Removed. + (struct dataset): Added some members to track procedure state. + (procedure): Optimize the trivial case at this level. + (internal_procedure): Re-implement in terms of proc_open, + proc_read, proc_close. + (proc_open) New function. + (proc_read) New function. + (proc_close) New function. + (write_case) Moved into proc_read. + (close_active_file) Moved closing of data source into proc_close. + + * storage-source.c: Rewrote to conform with modified + case_source_class interface. + + * transformations.c (trns_chain_execute): Added argument to allow + starting execution from an arbitrary transformation. Updated + callers. + + * transformations.h (enum TRNS_NEXT_CASE) Renamed TRNS_END_CASE. + +Sat Dec 16 14:09:25 2006 Ben Pfaff + + * sys-file-reader.c (read_display_parameters): Don't assume that + MEASURE_* and ALIGN_* have the same values found in system files. + + * sys-file-writer.c (write_variable_display_parameters): Ditto. + + * variable.h: Change MEASURE_NOMINAL, MEASURE_ORDINAL, + MEASURE_SCALE to be 0-based instead of 1-based. This also fixes + the value of n_MEASURES, which was off by 1 (at least from my + point of view). + +Sat Dec 16 12:17:34 WST 2006 John Darrington + + * dictionary.c dictionary.h vardict.h variable.c: Added optional + callbacks which are invoked when the dictionary or its + variables are changed. + + * missing-values.c missing-values.h value-labels.c: Tidied up + consistency checks, and made some of them return false + instead of assert-failing. + +Wed Dec 13 19:30:11 2006 Ben Pfaff + + * calendar.c (calendar_days_in_month): New function. + +Mon Dec 11 07:53:39 2006 Ben Pfaff + + * value-labels.c (hash_int_val_lab): Only hash as many bytes as + the value label's width. + +Sun Dec 10 14:21:29 2006 Ben Pfaff + + * sfm-private.h: Move contents into sys-file-writer.c, which is + the only remaining user. Removed Borland C++-specific directives. + + * sys-file-reader.c: Clean up and rewrite entire file. The + rewritten version is simpler and better abstracted, and should be + easier to maintain and extend. It avoids using structures to read + file data, which is prone to padding variations among compilers. + It should also handle non-IEEE 754 system files, although I + haven't been able to find any. It has been tested against many + .sav files obtained from the Web and found to produce the same + results as the earlier version of the code, or in some cases + improved results. It is more tolerant of format variations found + in the wild. + + * sys-file-reader.h (struct sfm_read_info): Removed `big_endian' + member, putting an enum integer_format in its place. New member + `float_format'. Changed `compressed' member to type bool. + +Sun Dec 10 13:48:53 2006 Ben Pfaff + + * dictionary.c (dict_delete_consecutive_vars): New function. + +Sat Dec 9 20:08:25 2006 Ben Pfaff + + * file-name.c (fn_search_path): Remove prefix arg that was unused + by any caller. Updated all callers. + Sat Dec 9 20:04:22 2006 Ben Pfaff * format.c (fmt_dollar_template): Use user's decimal point