projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
moved coefficient.[ch] to src/math
[pspp]
/
src
/
math
/
linreg
/
linreg.h
diff --git
a/src/math/linreg/linreg.h
b/src/math/linreg/linreg.h
index 727d764c65949fb4f7bbec0cc094f9bc31b58b42..f66f878f8ebfe44e169f07f9523a3e5006ff124c 100644
(file)
--- a/
src/math/linreg/linreg.h
+++ b/
src/math/linreg/linreg.h
@@
-20,7
+20,7
@@
#ifndef LINREG_H
#define LINREG_H
#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_math.h>
#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>
@@
-42,8
+42,6
@@
enum
*/
struct pspp_linreg_opts_struct
{
*/
struct pspp_linreg_opts_struct
{
- int resid; /* Should the residuals be returned? */
-
int get_depvar_mean_std;
int *get_indep_mean_std; /* Array of booleans
dictating which
int get_depvar_mean_std;
int *get_indep_mean_std; /* Array of booleans
dictating which
@@
-103,13
+101,13
@@
struct pspp_linreg_cache_struct
int n_coeffs;
/*
int n_coeffs;
/*
- The variable struct is ignored during estimation. It is here so
- the calling procedure can find the variable used in the model.
+
The variable struct is ignored during estimation. It is here so
+
the calling procedure can find the variable used in the model.
*/
const struct variable *depvar;
gsl_vector *residuals;
*/
const struct variable *depvar;
gsl_vector *residuals;
- struct pspp_linreg_coeff *coeff;
+ struct pspp_linreg_coeff *
*
coeff;
int method; /* Method to use to estimate parameters. */
/*
Means and standard deviations of the variables.
int method; /* Method to use to estimate parameters. */
/*
Means and standard deviations of the variables.
@@
-141,7
+139,7
@@
struct pspp_linreg_cache_struct
variables, i.e. \sum (x[i] - mean(x))^2. */
double ssy; /* Centered sums of squares for dependent
variable.
variables, i.e. \sum (x[i] - mean(x))^2. */
double ssy; /* Centered sums of squares for dependent
variable.
- */
+
*/
/*
Covariance matrix of the parameter estimates.
*/
/*
Covariance matrix of the parameter estimates.
*/
@@
-163,8
+161,14
@@
struct pspp_linreg_cache_struct
const void *, int);
double (*residual) (const struct variable **,
const union value **,
const void *, int);
double (*residual) (const struct variable **,
const union value **,
- const union value *,
- const void *, int);
+ const union value *, const void *, int);
+ /*
+ Returns pointers to the variables used in the model.
+ */
+ int (*get_vars) (const void *, struct variable **);
+ struct variable *resid;
+ struct variable *pred;
+
};
typedef struct pspp_linreg_cache_struct pspp_linreg_cache;
};
typedef struct pspp_linreg_cache_struct pspp_linreg_cache;
@@
-178,7
+182,7
@@
typedef struct pspp_linreg_cache_struct pspp_linreg_cache;
*/
pspp_linreg_cache *pspp_linreg_cache_alloc (size_t n, size_t p);
*/
pspp_linreg_cache *pspp_linreg_cache_alloc (size_t n, size_t p);
-
void pspp_linreg_cache_free (pspp_linreg_cache * c
);
+
bool pspp_linreg_cache_free (void *
);
/*
Fit the linear model via least squares. All pointers passed to pspp_linreg
/*
Fit the linear model via least squares. All pointers passed to pspp_linreg
@@
-195,4
+199,8
@@
pspp_linreg_predict (const struct variable **, const union value **,
double
pspp_linreg_residual (const struct variable **, const union value **,
const union value *, const void *, int);
double
pspp_linreg_residual (const struct variable **, const union value **,
const union value *, const void *, int);
+/*
+ All variables used in the model.
+ */
+int pspp_linreg_get_vars (const void *, struct variable **);
#endif
#endif