Constness
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 8 Aug 2010 11:20:46 +0000 (13:20 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Tue, 24 Aug 2010 14:37:13 +0000 (16:37 +0200)
src/math/categoricals.c
src/math/categoricals.h
src/math/covariance.c
src/math/covariance.h

index c544f97e98000ade273bd78785bd9a9a4b924e1b..df26c1602e8735da1bb45abd65e5c973f47c46c8 100644 (file)
@@ -181,7 +181,7 @@ lookup_value (const struct hmap *map, const struct variable *var, const union va
 
 
 struct categoricals *
-categoricals_create (const struct variable **v, size_t n_vars,
+categoricals_create (const struct variable *const *v, size_t n_vars,
                     const struct variable *wv, enum mv_class exclude)
 {
   size_t i;
index 2f86ce1df911f1cfa29c7affc384711f631b1d66..67be020463961175351f5e7d25b057e839256070 100644 (file)
@@ -27,7 +27,7 @@ struct ccase;
 
 union value ;
 
-struct categoricals *categoricals_create (const struct variable **v, size_t n_vars,
+struct categoricals *categoricals_create (const struct variable *const *v, size_t n_vars,
                                          const struct variable *wv, enum mv_class exclude);
 
 void categoricals_destroy (struct categoricals *);
index b5a4166dfa40643c5a71c88f37ceb7b4c604b1d5..f0161a54c529c59b187d840611e3cde134d45852 100644 (file)
@@ -68,7 +68,7 @@ struct covariance
 {
   /* The variables for which the covariance matrix is to be calculated. */
   size_t n_vars;
-  const struct variable **vars;
+  const struct variable *const *vars;
 
   /* Categorical variables. */
   struct categoricals *categoricals;
@@ -131,7 +131,7 @@ covariance_moments (const struct covariance *cov, int m)
 /* Create a covariance struct.
  */
 struct covariance *
-covariance_1pass_create (size_t n_vars, const struct variable **vars,
+covariance_1pass_create (size_t n_vars, const struct variable *const *vars,
                         const struct variable *weight, enum mv_class exclude)
 {
   size_t i;
@@ -170,8 +170,8 @@ covariance_1pass_create (size_t n_vars, const struct variable **vars,
   until then.
  */
 struct covariance *
-covariance_2pass_create (size_t n_vars, const struct variable **vars,
-                        size_t n_catvars, const struct variable **catvars, 
+covariance_2pass_create (size_t n_vars, const struct variable *const *vars,
+                        size_t n_catvars, const struct variable *const *catvars, 
                         const struct variable *wv, enum mv_class exclude)
 {
   size_t i;
@@ -698,6 +698,14 @@ covariance_calculate_unnormalized (struct covariance *cov)
     }
 }
 
+/* Function to access the categoricals used by COV
+   The return value is owned by the COV
+*/
+const struct categoricals *
+covariance_get_categoricals (const struct covariance *cov)
+{
+  return cov->categoricals;
+}
 
 
 /* Destroy the COV object */
index 3d29dcea8b0193babed4238ef64a988b7fbb92a3..fb59535718a5af952a8bd21a904a3213508f1203 100644 (file)
@@ -27,12 +27,12 @@ struct covariance;
 struct variable;
 struct ccase ;
 
-struct covariance * covariance_1pass_create (size_t n_vars, const struct variable **vars, 
+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, 
+covariance_2pass_create (size_t n_vars, const struct variable *const *vars,
+                        size_t n_catvars, const struct variable *const *catvars, 
                         const struct variable *wv, enum mv_class excl);
 
 void covariance_accumulate (struct covariance *, const struct ccase *);
@@ -46,4 +46,6 @@ 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