X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcovariance.h;h=5a7be0d68958e0bc2986f332284a4274ad0a3f1b;hb=6bad8bb980d4219d57389cde20dd2e77be2236c4;hp=8b8de88e9fa0b1ebfa277f9d25b41e6bf8e5ed0a;hpb=cb586666724d5fcbdb658ce471b85484f0a7babe;p=pspp diff --git a/src/math/covariance.h b/src/math/covariance.h index 8b8de88e9f..5a7be0d689 100644 --- a/src/math/covariance.h +++ b/src/math/covariance.h @@ -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 @@ -18,24 +18,39 @@ #ifndef COVARIANCE_H #define COVARIANCE_H -#include - -#include #include +#include +#include "data/missing-values.h" struct covariance; struct variable; struct ccase ; +struct categoricals; -struct covariance * covariance_create (size_t n_vars, const struct variable **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, 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); -const gsl_matrix *covariance_moments (const struct covariance *cov, int m); +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