Covariance matrix interface change.
[pspp] / src / math / covariance.h
index 8855433e62eec71d582427dbcab02a63e5a2e43b..cb83e151409224d1bf1d982a259179b9e79f5f49 100644 (file)
 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,
-                                      short passes);
+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, 
-                        const struct variable *weight, enum mv_class excl);
+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 *);
 
 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