/* 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 **vars,
+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_2pass_create (size_t n_vars, const struct variable **vars,
- size_t n_catvars, const struct variable **catvars,
+covariance_2pass_create (size_t n_vars, const struct variable *const *vars,
+ struct categoricals *cats,
const struct variable *wv, enum mv_class excl);
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);
-const gsl_matrix * covariance_calculate_unnormalized (struct covariance *);
+gsl_matrix * covariance_calculate (struct covariance *);
+gsl_matrix * covariance_calculate_unnormalized (struct covariance *);
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);
+
#endif