Added result_class parameter to tab_double and updated all callers. Removed tab_fixed
[pspp] / src / language / stats / glm.c
index 13d878176e975dd3f30f51ecc34152631b1b0ae8..e4b3c17b21bb66ec4f46a30a52114668059cd90b 100644 (file)
@@ -732,6 +732,7 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
 
   msg (MW, "GLM is experimental.  Do not rely on these results.");
   t = tab_create (nc, nr);
+  tab_set_format (t, RC_WEIGHT, wfmt);
   tab_title (t, _("Tests of Between-Subjects Effects"));
 
   tab_headers (t, heading_columns, 0, heading_rows, 0);
@@ -774,12 +775,12 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
       const double df = 1.0;
       const double F = intercept_ssq / df / mse;
       tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, _("Intercept"));
-      tab_double (t, 1, r, 0, intercept_ssq, NULL);
-      tab_double (t, 2, r, 0, 1.00, wfmt);
-      tab_double (t, 3, r, 0, intercept_ssq / df, NULL);
-      tab_double (t, 4, r, 0, F, NULL);
+      tab_double (t, 1, r, 0, intercept_ssq, NULL, RC_OTHER);
+      tab_double (t, 2, r, 0, 1.00, NULL, RC_WEIGHT);
+      tab_double (t, 3, r, 0, intercept_ssq / df, NULL, RC_OTHER);
+      tab_double (t, 4, r, 0, F, NULL, RC_OTHER);
       tab_double (t, 5, r, 0, gsl_cdf_fdist_Q (F, df, n_total - df_corr),
-                 NULL);
+                 NULL, RC_PVALUE);
       r++;
     }
 
@@ -804,13 +805,13 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
       tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, ds_cstr (&str));
       ds_destroy (&str);
 
-      tab_double (t, 1, r, 0, ssq, NULL);
-      tab_double (t, 2, r, 0, df, wfmt);
-      tab_double (t, 3, r, 0, ssq / df, NULL);
-      tab_double (t, 4, r, 0, F, NULL);
+      tab_double (t, 1, r, 0, ssq, NULL, RC_OTHER);
+      tab_double (t, 2, r, 0, df, NULL, RC_WEIGHT);
+      tab_double (t, 3, r, 0, ssq / df, NULL, RC_OTHER);
+      tab_double (t, 4, r, 0, F, NULL, RC_OTHER);
 
       tab_double (t, 5, r, 0, gsl_cdf_fdist_Q (F, df, n_total - df_corr),
-                 NULL);
+                 NULL, RC_PVALUE);
       r++;
     }
 
@@ -826,13 +827,13 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
       ssq += intercept_ssq;
 
     F = ssq / df / mse;
-    tab_double (t, 1, heading_rows, 0, ssq, NULL);
-    tab_double (t, 2, heading_rows, 0, df, wfmt);
-    tab_double (t, 3, heading_rows, 0, ssq / df, NULL);
-    tab_double (t, 4, heading_rows, 0, F, NULL);
+    tab_double (t, 1, heading_rows, 0, ssq, NULL, RC_OTHER);
+    tab_double (t, 2, heading_rows, 0, df, NULL, RC_WEIGHT);
+    tab_double (t, 3, heading_rows, 0, ssq / df, NULL, RC_OTHER);
+    tab_double (t, 4, heading_rows, 0, F, NULL, RC_OTHER);
 
     tab_double (t, 5, heading_rows, 0,
-               gsl_cdf_fdist_Q (F, df, n_total - df_corr), NULL);
+               gsl_cdf_fdist_Q (F, df, n_total - df_corr), NULL, RC_PVALUE);
   }
 
   {
@@ -840,15 +841,15 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
     const double ssq = gsl_vector_get (ws->ssq, 0);
     const double mse = ssq / df;
     tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, _("Error"));
-    tab_double (t, 1, r, 0, ssq, NULL);
-    tab_double (t, 2, r, 0, df, wfmt);
-    tab_double (t, 3, r++, 0, mse, NULL);
+    tab_double (t, 1, r, 0, ssq, NULL, RC_OTHER);
+    tab_double (t, 2, r, 0, df, NULL, RC_WEIGHT);
+    tab_double (t, 3, r++, 0, mse, NULL, RC_OTHER);
   }
 
   {
     tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, _("Total"));
-    tab_double (t, 1, r, 0, ws->total_ssq + intercept_ssq, NULL);
-    tab_double (t, 2, r, 0, n_total, wfmt);
+    tab_double (t, 1, r, 0, ws->total_ssq + intercept_ssq, NULL, RC_OTHER);
+    tab_double (t, 2, r, 0, n_total, NULL, RC_WEIGHT);
     
     r++;
   }
@@ -856,8 +857,8 @@ output_glm (const struct glm_spec *cmd, const struct glm_workspace *ws)
   if (cmd->intercept)
     {
       tab_text (t, 0, r, TAB_LEFT | TAT_TITLE, _("Corrected Total"));
-      tab_double (t, 1, r, 0, ws->total_ssq, NULL);
-      tab_double (t, 2, r, 0, n_total - 1.0, wfmt);
+      tab_double (t, 1, r, 0, ws->total_ssq, NULL, RC_OTHER);
+      tab_double (t, 2, r, 0, n_total - 1.0, NULL, RC_WEIGHT);
     }
 
   tab_submit (t);