output: Introduce pivot tables.
[pspp] / src / math / covariance.h
index cb83e151409224d1bf1d982a259179b9e79f5f49..eef6019ddfe4259b58f9f049ba6bd40bcd153bc9 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 
    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 COVARIANCE_H
 #define COVARIANCE_H
 
-#include <stddef.h>
-
-#include <data/missing-values.h>
 #include <gsl/gsl_matrix.h>
+#include <stddef.h>
+#include "data/missing-values.h"
 
 struct covariance;
 struct variable;
 struct ccase ;
 struct categoricals;
 
-struct covariance * covariance_1pass_create (size_t n_vars, const struct variable *const *vars, 
-                                            const struct variable *wv, enum mv_class excl);
+struct covariance * covariance_1pass_create (size_t n_vars, const struct variable *const *vars,
+                                            const struct variable *wv, enum mv_class excl, bool centered);
 
 struct covariance *
 covariance_2pass_create (size_t n_vars, const struct variable *const *vars,
                         struct categoricals *cats,
-                        const struct variable *wv, enum mv_class excl);
+                        const struct variable *wv, enum mv_class excl, bool centered);
 
 void covariance_accumulate (struct covariance *, const struct ccase *);
 void covariance_accumulate_pass1 (struct covariance *, const struct ccase *);
 void covariance_accumulate_pass2 (struct covariance *, const struct ccase *);
 
-const gsl_matrix * covariance_calculate (struct covariance *cov);
+gsl_matrix * covariance_calculate (struct covariance *);
 const gsl_matrix * covariance_calculate_unnormalized (struct covariance *);
 
 void covariance_destroy (struct covariance *cov);
@@ -48,5 +47,10 @@ void covariance_destroy (struct covariance *cov);
 const gsl_matrix *covariance_moments (const struct covariance *cov, int m);
 
 const struct categoricals * covariance_get_categoricals (const struct covariance *cov);
+size_t covariance_dim (const struct covariance * cov);
+
+struct pivot_table *covariance_dump_enc_header (const struct covariance *);
+void covariance_dump_enc (const struct covariance *, const struct ccase *,
+                          struct pivot_table *);
 
 #endif