Added var structs to allow easier lookup of model variables
[pspp-builds.git] / lib / linreg / pspp_linreg.h
index 496bad7b2151db9b430c5709082b871f1621ed0b..5fa4e63bc45c06c4166e741bb5e6f9c01825bea0 100644 (file)
@@ -45,7 +45,7 @@
   Springer. 1998. ISBN 0-387-98542-5.
  */
 #ifndef PSPP_LINREG_H
-#define PSPP_LINREG_H
+#define PSPP_LINREG_H 1
 #include <gsl/gsl_vector.h>
 #include <gsl/gsl_matrix.h>
 #include <gsl/gsl_math.h>
@@ -54,6 +54,7 @@
 #include <gsl/gsl_multifit.h>
 #include <gsl/gsl_blas.h>
 #include <gsl/gsl_cblas.h>
+#include <src/var.h>
 enum
 {
   PSPP_LINREG_SWEEP,
@@ -70,8 +71,14 @@ struct pspp_linreg_cache_struct
 {
   int n_obs;                   /* Number of observations. */
   int n_indeps;                        /* Number of independent variables. */
-  gsl_vector *depvar;
-  gsl_matrix *indepvar;
+
+  /* 
+     The var structs are ignored during estimation.
+     They are here so the calling procedures can
+     find the variables used in the model.
+  */
+  struct var *depvar;
+  struct var **indepvar;   
   gsl_vector *residuals;
   gsl_vector *param_estimates;
   int method;                  /* Method to use to estimate parameters. */
@@ -81,8 +88,8 @@ struct pspp_linreg_cache_struct
      called, pspp_linreg() will compute their values.
 
      Entry i of indep_means is the mean of independent
-     variable i, whose observations are stored in column i
-     of indepvar.
+     variable i, whose observations are stored in the ith
+     column of the design matrix.
    */
   double depvar_mean;
   double depvar_std;