+ /* Populate the moments matrices with the categorical value elements */
+ for (i = cov->n_vars; i < cov->dim; ++i)
+ {
+ for (j = 0 ; j < cov->dim ; ++j) /* FIXME: This is WRONG !!! */
+ {
+ double w = categoricals_get_weight_by_subscript (cov->categoricals, i - cov->n_vars);
+
+ gsl_matrix_set (cov->moments[MOMENT_NONE], i, j, w);
+
+ w = categoricals_get_sum_by_subscript (cov->categoricals, i - cov->n_vars);
+
+ gsl_matrix_set (cov->moments[MOMENT_MEAN], i, j, w);
+ }
+ }
+
+ /* FIXME: This is WRONG!! It must be fixed to properly handle missing values. For
+ now it assumes there are none */
+ for (m = 0 ; m < n_MOMENTS; ++m)
+ {
+ for (i = 0 ; i < cov->dim ; ++i)
+ {
+ double x = gsl_matrix_get (cov->moments[m], i, cov->n_vars -1);
+ for (j = cov->n_vars; j < cov->dim; ++j)
+ {
+ gsl_matrix_set (cov->moments[m], i, j, x);
+ }
+ }
+ }
+