/* 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
{
struct linreg_struct
{
+ int refcnt;
double n_obs; /* Number of observations. */
int n_indeps; /* Number of independent variables. */
int n_coeffs; /* The intercept is not considered a
struct variable *pred;
struct variable *resid;
+ int dependent_column; /* Column containing the dependent variable. Defaults to last column. */
};
typedef struct linreg_struct linreg;
linreg *linreg_alloc (const struct variable *, const struct variable **,
double, size_t);
-bool linreg_free (void *);
+void linreg_unref (linreg *);
+void linreg_ref (linreg *c);
/*
Fit the linear model via least squares. All pointers passed to pspp_linreg