+struct linreg
+{
+ double n_obs; /* Number of observations. */
+ int n_indeps; /* Number of independent variables. */
+ int n_coeffs; /* The intercept is not considered a
+ coefficient here. */
+
+ /*
+ Pointers to the variables.
+ */
+ const struct variable *depvar;
+ const struct variable **indep_vars;
+
+ double *coeff;
+ double intercept;
+ /*
+ Means and standard deviations of the variables.
+ If these pointers are null when pspp_linreg() is
+ called, pspp_linreg() will compute their values.
+
+ Entry i of indep_means is the mean of independent
+ variable i, whose observations are stored in the ith
+ column of the design matrix.
+ */
+ double depvar_mean;
+ gsl_vector *indep_means;
+ gsl_vector *indep_std;
+
+ /*
+ Sums of squares.
+ */
+ double ssm; /* Sums of squares for the overall model. */
+ double sst; /* Sum of squares total. */
+ double sse; /* Sum of squares error. */
+ double mse; /* Mean squared error. This is just sse /
+ dfe, but since it is the best unbiased
+ estimate of the population variance, it
+ has its own entry here. */
+ /*
+ Covariance matrix of the parameter estimates.
+ */
+ gsl_matrix *cov;
+ /*
+ Degrees of freedom.
+ */
+ double dft;
+ double dfe;
+ double dfm;
+
+ int dependent_column; /* Column containing the dependent variable. Defaults to last column. */
+ int refcnt;
+
+ bool origin;
+};