Move var_set and variable parsing declarations into new header.
[pspp-builds.git] / src / language / stats / descriptives.c
index 6704fe5d2408db4ff920e3f82e2c38e1ae3d7d63..958c00d89ea90beaba3013834137ff4a96702f3d 100644 (file)
 /* FIXME: Many possible optimizations. */
 
 #include <config.h>
-#include "message.h"
+
 #include <limits.h>
 #include <math.h>
 #include <stdlib.h>
-#include "array.h"
-#include "alloc.h"
-#include "case.h"
-#include "casefile.h"
-#include "command.h"
-#include "compiler.h"
-#include "dictionary.h"
-#include "lexer.h"
-#include "message.h"
-#include "magic.h"
-#include "moments.h"
-#include "manager.h"
-#include "table.h"
-#include "variable.h"
-#include "procedure.h"
+
+#include <data/case.h>
+#include <data/casefile.h>
+#include <data/dictionary.h>
+#include <data/procedure.h>
+#include <data/transformations.h>
+#include <data/variable.h>
+#include <language/command.h>
+#include <language/dictionary/split-file.h>
+#include <language/lexer/lexer.h>
+#include <language/lexer/variable-parser.h>
+#include <libpspp/alloc.h>
+#include <libpspp/array.h>
+#include <libpspp/compiler.h>
+#include <libpspp/magic.h>
+#include <libpspp/message.h>
+#include <math/moments.h>
+#include <output/manager.h>
+#include <output/table.h>
 
 #include "gettext.h"
 #define _(msgid) gettext (msgid)
@@ -175,7 +179,8 @@ static void dump_z_table (struct dsc_proc *);
 static void setup_z_trns (struct dsc_proc *);
 
 /* Procedure execution functions. */
-static bool calc_descriptives (const struct casefile *, void *dsc_);
+static bool calc_descriptives (const struct ccase *first,
+                               const struct casefile *, void *dsc_);
 static void display (struct dsc_proc *dsc);
 \f
 /* Parser and outline. */
@@ -540,7 +545,7 @@ dump_z_table (struct dsc_proc *dsc)
   }
   
   t = tab_create (2, cnt + 1, 0);
-  tab_title (t, 0, _("Mapping of variables to corresponding Z-scores."));
+  tab_title (t, _("Mapping of variables to corresponding Z-scores."));
   tab_columns (t, SOM_COL_DOWN, 1);
   tab_headers (t, 0, 0, 1, 0);
   tab_box (t, TAL_1, TAL_1, TAL_0, TAL_1, 0, 0, 1, cnt);
@@ -661,7 +666,6 @@ setup_z_trns (struct dsc_proc *dsc)
          struct variable *dst_var;
 
          dst_var = dict_create_var_assert (default_dict, dv->z_name, 0);
-          dst_var->init = 0;
          if (dv->v->label)
            {
              dst_var->label = xmalloc (strlen (dv->v->label) + 12);
@@ -694,13 +698,16 @@ static int listwise_missing (struct dsc_proc *dsc, const struct ccase *c);
 /* Calculates and displays descriptive statistics for the cases
    in CF. */
 static bool
-calc_descriptives (const struct casefile *cf, void *dsc_) 
+calc_descriptives (const struct ccase *first,
+                   const struct casefile *cf, void *dsc_) 
 {
   struct dsc_proc *dsc = dsc_;
   struct casereader *reader;
   struct ccase c;
   size_t i;
 
+  output_split_file_values (first);
+
   for (i = 0; i < dsc->var_cnt; i++)
     {
       struct dsc_var *dv = &dsc->vars[i];
@@ -915,7 +922,7 @@ display (struct dsc_proc *dsc)
          tab_float (t, nc++, i + 1, TAB_NONE, dv->stats[j], 10, 3);
     }
 
-  tab_title (t, 1, _("Valid cases = %g; cases with missing value(s) = %g."),
+  tab_title (t, _("Valid cases = %g; cases with missing value(s) = %g."),
             dsc->valid, dsc->missing_listwise);
 
   tab_submit (t);