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