Update all #include directives to the currently preferred style.
[pspp-builds.git] / src / math / linreg.h
index 17fe3c733c990e45df1b3a4012baf6b84a3d9608..32373f5ed484eceab55fc4b1df8cf019d03860cf 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2005 Free Software Foundation, Inc. Written by Jason H. Stover.
+   Copyright (C) 2005, 2011 Free Software Foundation, Inc. Written by Jason H. Stover.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
 #ifndef LINREG_H
 #define LINREG_H
-#include <stdbool.h>
+
 #include <gsl/gsl_math.h>
-#include <gsl/gsl_vector.h>
 #include <gsl/gsl_matrix.h>
+#include <gsl/gsl_vector.h>
+#include <stdbool.h>
 
 enum
 {
@@ -129,11 +130,6 @@ struct linreg_struct
                                   dfe, but since it is the best unbiased
                                   estimate of the population variance, it
                                   has its own entry here. */
-  gsl_vector *ssx;             /* Centered sums of squares for independent
-                                  variables, i.e. \sum (x[i] - mean(x))^2. */
-  double ssy;                  /* Centered sums of squares for dependent
-                                  variable.
-                                */
   /*
      Covariance matrix of the parameter estimates.
    */
@@ -145,14 +141,9 @@ struct linreg_struct
   double dfe;
   double dfm;
 
-  /*
-     'Hat' or Hessian matrix, i.e. (X'X)^{-1}, where X is our
-     design matrix.
-   */
-  gsl_matrix *hat;
-
   struct variable *pred;
   struct variable *resid;
+  int dependent_column; /* Column containing the dependent variable. Defaults to last column. */
 };
 
 typedef struct linreg_struct linreg;
@@ -197,9 +188,11 @@ gsl_matrix * linreg_cov (const linreg *);
 double linreg_coeff (const linreg *, size_t);
 const struct variable * linreg_indep_var (const linreg *, size_t);
 size_t linreg_n_coeffs (const linreg *);
-size_t linreg_n_obs (const linreg *);
+double linreg_n_obs (const linreg *);
 double linreg_sse (const linreg *);
 double linreg_ssreg (const linreg *);
 double linreg_dfmodel (const linreg *);
 double linreg_sst (const linreg *);
+void linreg_set_depvar_mean (linreg *, double);
+double linreg_get_depvar_mean (linreg *);
 #endif