Whitespace changes only
[pspp] / src / language / stats / regression.q
index b879cae90871658313ac47b76b270474ec6119a3..ca1f67da0e00849f11898d7c95c0fe1b84724f67 100644 (file)
 #include <gsl/gsl_vector.h>
 #include <math.h>
 #include <stdlib.h>
-#include <data/case.h>
-#include <data/casegrouper.h>
-#include <data/casereader.h>
-#include <data/dictionary.h>
-#include <data/missing-values.h>
-#include <data/procedure.h>
-#include <data/transformations.h>
-#include <data/value-labels.h>
-#include <data/variable.h>
-#include <language/command.h>
-#include <language/dictionary/split-file.h>
-#include <language/data-io/file-handle.h>
-#include <language/lexer/lexer.h>
-#include <libpspp/compiler.h>
-#include <libpspp/message.h>
-#include <libpspp/taint.h>
-#include <math/covariance.h>
-#include <math/linreg.h>
-#include <math/moments.h>
-#include <output/tab.h>
+
+#include "data/case.h"
+#include "data/casegrouper.h"
+#include "data/casereader.h"
+#include "data/dataset.h"
+#include "data/dictionary.h"
+#include "data/missing-values.h"
+#include "data/transformations.h"
+#include "data/value-labels.h"
+#include "data/variable.h"
+#include "language/command.h"
+#include "language/data-io/file-handle.h"
+#include "language/dictionary/split-file.h"
+#include "language/lexer/lexer.h"
+#include "libpspp/compiler.h"
+#include "libpspp/message.h"
+#include "libpspp/taint.h"
+#include "math/covariance.h"
+#include "math/linreg.h"
+#include "math/moments.h"
+#include "output/tab.h"
 
 #include "gl/intprops.h"
 #include "gl/xalloc.h"
@@ -791,6 +792,7 @@ identify_indep_vars (const struct variable **indep_vars,
     }
   return n_indep_vars;
 }
+
 static double
 fill_covariance (gsl_matrix *cov, struct covariance *all_cov, 
                 const struct variable **vars,
@@ -803,12 +805,15 @@ fill_covariance (gsl_matrix *cov, struct covariance *all_cov,
   size_t dep_subscript;
   size_t *rows;
   const gsl_matrix *ssizes;
-  gsl_matrix *cm;
   const gsl_matrix *mean_matrix;
   const gsl_matrix *ssize_matrix;
   double result = 0.0;
   
-  cm = covariance_calculate_unnormalized (all_cov);
+  gsl_matrix *cm = covariance_calculate_unnormalized (all_cov);
+
+  if ( cm == NULL)
+    return 0;
+
   rows = xnmalloc (cov->size1 - 1, sizeof (*rows));
   
   for (i = 0; i < n_all_vars; i++)
@@ -958,8 +963,10 @@ run_regression (struct casereader *input, struct cmd_regression *cmd,
                                 dict_get_weight (dict), MV_ANY);
 
   reader = casereader_clone (input);
-  reader = casereader_create_filter_missing (reader, v_variables, n_variables,
+  reader = casereader_create_filter_missing (reader, all_vars, n_all_vars,
                                             MV_ANY, NULL, NULL);
+
+
   for (; (c = casereader_read (reader)) != NULL; case_unref (c))
     {
       covariance_accumulate (cov, c);