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