+
+size_t
+covariance_dim (const struct covariance * cov)
+{
+ return (cov->dim);
+}
+
+/*
+ Returns an array of variables corresponding to rows of the covariance matrix.
+ In other words, element i of the array is the variable corresponding to
+ row (and column) i of the covariance matrix.
+ */
+void
+covariance_get_var_indices (const struct covariance *cov, const struct variable **vars)
+{
+ int i;
+ for (i = 0; i < cov->n_vars; i++)
+ {
+ vars[i] = cov->vars[i];
+ }
+ for (i = cov->n_vars; i < cov->dim; i++)
+ {
+ vars[i] = categoricals_get_variable_by_subscript (cov->categoricals, i - cov->n_vars);
+ }
+}