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