Fix bug in parse_design_interaction.
[pspp] / src / math / linreg.h
index 31bf5651051564774d0417571a99f929a562f270..e53a02956e2077e91f58ede8268ed68ab71fd60d 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
 {
@@ -89,6 +90,7 @@ typedef struct pspp_linreg_opts_struct pspp_linreg_opts;
 
 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
@@ -152,7 +154,8 @@ 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