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