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