Make the missing value code do more work, so that its callers can do
[pspp-builds.git] / src / language / stats / ChangeLog
1 Fri Dec 22 14:04:09 2006  Ben Pfaff  <blp@gnu.org>
2
3         Simplify missing value handling.
4         
5         * aggregate.c (struct agr_var): Remove `bool include_missing', add
6         `enum mv_class exclude'.  Remove `int missing', add `bool
7         saw_missing'.  Update users.
8
9         * descriptives.c (struct dsc_trns): Removed `int
10         include_user_missing', add `enum mv_class exclude'.  Update users.
11         (struct dsc_proc): Ditto.
12
13         * examine.q: (static var value_is_missing): Rename
14         `exclude_values', change type to `enum mv_class'.  Update users.
15
16         * rank.q: Ditto.
17
18 Fri Dec 22 19:22:18 WST 2006 John Darrington <john@darrington.wattle.id.au>
19
20         * frequencies.q : Fixed bug #17420, where the table bounds were overun
21         when /FORMAT=nolabels was given.
22
23 Wed Dec 20 18:45:31 WST 2006 John Darrington <john@darrington.wattle.id.au>
24
25         * binomial.c binomial.h : New files.  Thanks to Jason Stover 
26           for assistance with these.
27
28         * chisquare.c chisquare.h freq.c freq.h npar-summary.c npar-summary.h 
29           npar.h npar.q: New files.  Implementing NPAR TESTS.
30
31         * frequencies.q  : Moved  structure definitions into freq.[ch]
32
33 Sat Dec 16 22:26:44 2006  Ben Pfaff  <blp@gnu.org>
34
35         Make it possible to pull cases from the active file with a
36         function call, instead of requiring indirection through a callback
37         function.
38
39         * aggregate.c (cmd_aggregate): Take advantage of new procedure
40         interface.
41         (agr_to_active_file): Removed.
42         (presorted_agr_to_sysfile): Removed.
43
44         * autorecode.c (cmd_autorecode): Take advantage of new procedure
45         interface.
46         (autorecode_proc_func): Removed.
47
48         * flip.c (struct flip_pgm): New members to allow conformance with
49         new case_source_class interface.
50         (cmd_flip): Adapt to new case_source_class interface.
51         (flip_source_read): Ditto.
52         (flip_source_destroy): Ditto.
53
54 Sat Dec 16 12:54:27 2006  Ben Pfaff  <blp@gnu.org>
55
56         * rank.q (rank_custom_variables): Allow grouping variables to be
57         strings.  Fixes bug #18533.  Thanks to John Darrington for review.
58
59 Sat Dec  9 18:47:51 2006  Ben Pfaff  <blp@gnu.org>
60
61         * regression.q (is_depvar): Compare variable pointers instead of
62         variable names.
63
64 Thu Dec  7 15:26:25 WST 2006 John Darrington <john@darrington.wattle.id.au>
65
66         * examine.q: Allocated the categorical values for the dependent and 
67         independent variables, on the heap.  Hence they can be of any width.
68
69 Wed Dec  6 21:14:26 2006  Ben Pfaff  <blp@gnu.org>
70
71         * regression.q (reg_inserted): Compare variable pointers instead
72         of variable indexes.
73
74 Mon Dec  4 22:33:46 2006  Ben Pfaff  <blp@gnu.org>
75
76         * crosstabs.q (insert_summary): Use var_to_string for labeling.
77         (output_pivot_table) Ditto.
78         (submit) Ditto.
79
80         * frequencies.q (setup_z_trns): Ditto.
81         (dump_full) Ditto.
82         (dump_condensed) Ditto.
83         (dump_statistics) Ditto.
84         
85
86 Sun Nov  5 08:31:42 WST 2006 John Darrington <john@darrington.wattle.id.au>
87
88         * t-test.q, oneway.q: Changed to use the new casefilter structure.
89
90 Sat Oct 14 16:52:28 2006  Ben Pfaff  <blp@gnu.org>
91
92         * rank.q: (rank_sorted_casefile) Add some missing case_destroy()
93         calls to fix a memory leak.
94
95 Sun Oct  8 09:45:40 WST 2006 John Darrington <john@darrington.wattle.id.au>
96
97         * rank.q: Plugged a small memory leak which occurred under error
98         conditions.
99         
100 Sat Oct  7 11:06:01 WST 2006 John Darrington <john@darrington.wattle.id.au>
101
102         * rank.q: Implemented most of the RANK command.
103
104 2006-07-14  Jason Stover  <jhs@math.gcsu.edu>
105
106         * regression.q (run_regression): New function to move knowledge of
107         pspp_linreg_cache out of math/coefficient.[ch].
108
109 Sat Jul  1 17:41:46 2006  Ben Pfaff  <blp@gnu.org>
110
111         Fix bug #11612, "q2c documentation does not agree with code".
112         
113         * examine.q: Audit use of q2c "+" prefixes that indicate that a
114         command may appear multiple times.
115
116         * frequencies.q: Ditto.
117
118         * oneway.q: Ditto.
119
120         * regression.q: Ditto.
121
122         * t-test.q: Ditto.
123
124 Fri Jun 23 14:18:22 2006  Ben Pfaff  <blp@gnu.org>
125
126         Support long string variables on FREQUENCIES, as
127         an extension when in enhanced algorithms mode.  For Greg Hunt
128         <greg@firmansyah.com>.
129         
130         * frequencies.q: (struct freq) Change `v' member from union value
131         to union value *.  Update all references.
132         (struct var_freqs) Add width, print members to represent effective
133         variable width and display format.
134         (calc) Copy entire long string value into the hash table.
135         (frq_custom_variables) Set new width, print members.
136         (hash_value_alpha) Get width from var_freqs.
137         (compare_value_alpha_a) Ditto.
138         (compare_freq_alpha_a) Ditto.
139         (compare_freq_alpha_d) Ditto.
140         (dump_full) Get display format from var_freqs.
141         (dump_condensed) Ditto.
142
143 Mon Jun 19 22:07:13 2006  Ben Pfaff  <blp@gnu.org>
144
145         * frequencies.q: (dump_full) Only put the first MAX_SHORT_STRING
146         bytes of string variables into the output cells, seeing as we only
147         copy that many.
148         (dump_condensed) Ditto.
149
150 Mon Jun 19 21:52:05 2006  Ben Pfaff  <blp@gnu.org>
151
152         Fixes a bug reported by Greg Hunt <greg@firmansyah.com>.
153         
154         * frequencies.q: (hsh_hash_bytes) We only copy the first
155         MAX_SHORT_STRING bytes of string variables, so we must only
156         compare that many bytes, even if the string variable is longer.
157         (compare_value_alpha_a) Ditto.
158         (compare_freq_alpha_a) Ditto.
159         (compare_freq_alpha_d) Ditto.
160
161 2006-05-11  Jason Stover  <jhs@math.gcsu.edu>
162
163         * regression.q: Adjusted code to account for cache->coeff being a
164         pspp_linreg_coeff **.
165
166 Sun May  7 18:31:25 2006  Ben Pfaff  <blp@gnu.org>
167
168         Fix memory leak.
169         
170         * aggregate.c (cmd_aggregate): Free default_dict before replacing
171         it.
172
173 Sun May  7 17:09:19 2006  Ben Pfaff  <blp@gnu.org>
174
175         * flip.c (flip_file): Check return value of pool_fclose().
176
177 Sat May  6 16:00:13 2006  Ben Pfaff  <blp@gnu.org>
178
179         Get rid of `char *c' member in union value, for cleanliness.
180         
181         * aggregate.c: (union agr_argument) New union.
182         (struct agr_var) Change element type of arg[] from union value to
183         union agr_argument.
184         (parse_aggregate_functions) Change local variable types likewise.
185
186         * autorecode.c: (union arc_value) New union.
187         (struct arc_item) Change "from" from union value to union
188         arc_value.
189         (recode) Change local variable from union value to union
190         arc_value.
191         (autorecode_trns_proc) Ditto.
192         (compare_alpha_value) Ditto.
193         (hash_alpha_value) Ditto.
194         (compare_numeric_value) Ditto.
195         (hash_numeric_value) Ditto.
196         (autorecode_proc_func) Ditto.
197
198 Sat May  6 10:43:33 2006  Ben Pfaff  <blp@gnu.org>
199
200         Continue reforming procedure execution.  In this phase, get rid of
201         the output code for SPLIT FILE groups in procedure.c, which really
202         shouldn't be doing any output.  Move it into the individual
203         procedures instead.  This also adds some flexibility.
204
205         * crosstabs.q (precalc): Call output_split_file_values().
206
207         * descriptives.c (calc_descriptives): Ditto.
208
209         * examine.q (run_examine): Ditto.
210         
211         * frequencies.q (precalc): Ditto.
212
213         * oneway.q (run_oneway): Ditto.
214
215         * regression.q (run_regression): Ditto.
216
217         * t-test.q (calculate): Ditto.
218
219 Wed May  3 23:05:31 2006  Ben Pfaff  <blp@gnu.org>
220
221         Continue reforming procedure execution.  In this phase, get rid of
222         many global variables, consolidating procedure execution in
223         procedure.c.  Encapsulate transformations in new "struct
224         trns_chain".  Also, change implementation of N OF CASES, FILTER,
225         and PROCESS IF from special cases to transformations.
226          
227         * aggregate.c (cmd_aggregate) Use discard_variables().
228         
229 2006-04-28  Jason Stover  <jhs@math.gcsu.edu>
230
231         * regression.q (regression_trns_resid_proc): Pass only the
232         variables used in the model to (*model->residual)().
233
234         * regression.q (regression_trns_pred_proc): Pass only the
235         variables used in the model to (*model->pred)().
236
237 2006-04-26  Jason Stover  <jhs@math.gcsu.edu>
238
239         * regression.q: Added support for multiple transformations.
240         
241         * regression.q (regression_trns_resid_proc): New function.
242
243         * regression.q (regression_trns_pred_proc): New function.
244
245         * regression.q (subcommand_save): Added support for saving
246         predicted values.
247
248         * regression.q (regression_trns_free): New function. 
249
250         * regression.q (reg_get_name): New function.
251
252         * regression.q (reg_save_var): New function.
253
254 Tue Apr 25 13:18:56 2006  Ben Pfaff  <blp@gnu.org>
255
256         * rank.q (parse_rank_function): Use SE instead of ME for parse
257         errors.
258
259 Tue Apr 25 13:16:28 2006  Ben Pfaff  <blp@gnu.org>
260
261         * flip.c (flip_sink_write): Use snprintf() to simplify a bit of
262         code.
263
264 2006-04-21  Jason Stover  <jhs@math.gcsu.edu>
265
266         * regression.q (try_name): New function. (Partly copied from
267         try_name in descriptives.c.)
268
269         * regression.q (subcommand_save): Choose residual variable names
270         correctly. 
271
272 2006-04-20  Jason Stover  <jhs@math.gcsu.edu>
273
274         * regression.q (cmd_regression): Moved call to subcommand_save()
275         outside multipass_procedure_with_splits().
276         
277         * regression.q (regression_trns_proc): Fixed value counter n_vals
278         before calling *model->residual().
279
280 2006-04-19  Jason Stover  <jhs@math.gcsu.edu>
281
282         * regression.q (regression_trns_proc): Fixed the look-up of the
283         number of variables.
284
285 2006-04-18  Jason Stover  <jhs@math.gcsu.edu>
286
287         * regression.q (regression_trns_proc): Look up the residual
288         variable in the linear regression cache.
289
290         * regression.q (subcommand_save): Set the residual variable in the
291         linear regression cache.
292
293 2006-04-17  Jason Stover  <jason@wonko.gcsu.edu>
294
295         * regression.q (regression_trns_proc): Accept case_idx as an int
296         to match the definition of trns_proc_func.
297
298 2006-04-17  Jason Stover  <jhs@math.gcsu.edu>
299
300         * regression.q (regression_trns_proc): New function.
301
302         * regression.q (subcommand_save): Create variable residuals and
303         add a transformation to assign values to them. Also free the
304         linreg_cache if the SAVE command was not called. Removed the
305         casereading loop. Placed actual computation of residuals in
306         regression_trns_proc.
307
308         * regression.q (run_regression): Moved call to free
309         pspp_linreg_cache to subcommand_save.
310
311 Sat Apr 15 18:01:03 2006  Ben Pfaff  <blp@gnu.org>
312
313         * examine.q (output_examine): Add casts to fix warnings.
314
315 2006-04-07  Jason Stover  <jhs@math.gcsu.edu>
316
317         * regression.q (subcommand_save): New function.
318
319 2006-04-04  Jason Stover  <jhs@math.gcsu.edu>
320
321         * regression.q: New function reg_has_categorical () to tell
322         whether a pspp_linreg_struct was made with any variables of type
323         ALPHA.
324
325         * regression.q: (subcommand_export): Call
326         reg_print_categorical_encoding() only if the model uses any
327         categorical variables.
328
329 Mon Mar 27 16:00:42 2006  Ben Pfaff  <blp@gnu.org>
330
331         * crosstabs.q: (output_pivot_table) Drop spurious space from
332         message.
333
334 2006-03-15  Jason Stover  <jhs@math.gcsu.edu>
335
336         * regression.q: Added custom syntax parser for VARIABLES subcommand
337
338         * regression.q: Moved most instructions for run_regression ()
339         inside the loop over dependent variables.
340
341 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
342         
343         * Moved files from src directory