Fix leaks in MEANS command
[pspp] / src / math / categoricals.h
index 4826227ea34a8ff49d26b9bbe6d71606de529868..53e309ed62eaf76d9b7cc808a4443cae070ec3d1 100644 (file)
@@ -29,7 +29,8 @@ struct interaction;
 union value ;
 
 struct categoricals *categoricals_create (struct interaction *const *, size_t n_int,
-                                         const struct variable *wv, enum mv_class exclude);
+                                         const struct variable *wv, enum mv_class dep_excl,
+                                         enum mv_class fctr_excl);
 
 void categoricals_destroy (struct categoricals *);
 
@@ -56,7 +57,6 @@ size_t categoricals_df_total (const struct categoricals *cat);
 */
 size_t categoricals_get_n_variables (const struct categoricals *cat);
 
-
 bool categoricals_is_complete (const struct categoricals *cat);
 
 
@@ -66,7 +66,9 @@ bool categoricals_is_complete (const struct categoricals *cat);
   If this function returns false, then no calls to _by_subscript or *_by_category
   are allowed.
 */
-bool categoricals_done (const struct categoricals *cat);
+void categoricals_done (const struct categoricals *cat);
+
+bool categoricals_sane (const struct categoricals *cat);
 
 
 /*
@@ -103,8 +105,8 @@ const struct ccase * categoricals_get_case_by_category (const struct categorical
 struct payload
 {
   void* (*create)  (const void *aux1, void *aux2);
-  void (*update)  (const void *aux1, void *aux2, void *user_data,
-                  const struct ccase *, enum mv_class, const struct variable *wv);
+  void (*update)  (const void *aux1, void *aux2, void *user_data, const struct ccase *, double weight);
+  void (*calculate) (const void *aux1, void *aux2, void *user_data);
   void (*destroy) (const void *aux1, void *aux2, void *user_data);
 };