X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcovariance-matrix.h;h=33a5d750533be2526ed6f23042ee2512da2dc057;hb=c3ac5a8af9c449072c7e872ca70a78c1755ae309;hp=573d3e7ec27b8a2fda2387cb8423e85e9f31991c;hpb=ceb0823669b8cb6784fd4f793d28451e33dfd512;p=pspp diff --git a/src/math/covariance-matrix.h b/src/math/covariance-matrix.h index 573d3e7ec2..33a5d75053 100644 --- a/src/math/covariance-matrix.h +++ b/src/math/covariance-matrix.h @@ -26,18 +26,33 @@ struct moments1; struct ccase; struct hsh_table; +struct covariance_matrix; +enum +{ ONE_PASS, + TWO_PASS +}; -struct design_matrix * -covariance_matrix_create (size_t, const struct variable *[]); - -void covariance_matrix_destroy (struct design_matrix *); - +/* + How to deal with missing values. + */ +enum +{ LISTWISE, + PAIRWISE +}; +struct design_matrix *covariance_matrix_create (size_t, + const struct variable *[]); + +void covariance_matrix_destroy (struct covariance_matrix *cov); void covariance_pass_two (struct design_matrix *, double, - double, double, const struct variable *, - const struct variable *, const union value *, const union value *); -void covariance_accumulate (struct hsh_table *, struct moments1 **, - const struct ccase *, const struct variable **, size_t); -struct hsh_table * covariance_hsh_create (size_t); -struct design_matrix * covariance_accumulator_to_matrix (struct hsh_table *, const struct moments1 **, - const struct variable **, size_t, size_t); + double, double, const struct variable *, + const struct variable *, const union value *, + const union value *); +void covariance_matrix_compute (struct covariance_matrix *); +struct covariance_matrix *covariance_matrix_init (size_t, + const struct variable *[], + int, int, enum mv_class); +void covariance_matrix_free (struct covariance_matrix *); +void covariance_matrix_accumulate (struct covariance_matrix *, + const struct ccase *); +struct design_matrix *covariance_to_design (const struct covariance_matrix *); #endif