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