Add optional callback functions to categoricals.
[pspp] / src / math / categoricals.h
index 67be020463961175351f5e7d25b057e839256070..ff33540ca1193148779e5ce7ebd0df4f2cd131f5 100644 (file)
@@ -27,8 +27,17 @@ struct ccase;
 
 union value ;
 
+typedef void update_func (void *user_data,
+                         const struct variable *wv, 
+                         const struct variable *catvar,
+                         const struct ccase *c, void *aux);
+
+typedef void *user_data_create_func (void);
+
 struct categoricals *categoricals_create (const struct variable *const *v, size_t n_vars,
-                                         const struct variable *wv, enum mv_class exclude);
+                                         const struct variable *wv, enum mv_class exclude,
+                                         user_data_create_func *udf,
+                                         update_func *update, void *update_aux);
 
 void categoricals_destroy (struct categoricals *);
 
@@ -63,6 +72,8 @@ double categoricals_get_sum_by_subscript (const struct categoricals *cat, int su
 double categoricals_get_binary_by_subscript (const struct categoricals *cat, int subscript,
                                             const struct ccase *c);
 
+void * categoricals_get_user_data_by_subscript (const struct categoricals *cat, int subscript);
+