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