X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Fcategoricals.h;h=c5919bc455e883e131bb2aa637b1165d0bf36ea2;hb=0ae31d227347f40afc6d6c35cf8b02227781b2b4;hp=4826227ea34a8ff49d26b9bbe6d71606de529868;hpb=970789e054086189cb8d83b8c80f6c10318bbeef;p=pspp diff --git a/src/math/categoricals.h b/src/math/categoricals.h index 4826227ea3..c5919bc455 100644 --- a/src/math/categoricals.h +++ b/src/math/categoricals.h @@ -28,8 +28,9 @@ struct interaction; union value ; -struct categoricals *categoricals_create (struct interaction *const *, size_t n_int, - const struct variable *wv, enum mv_class exclude); +struct categoricals *categoricals_create (struct interaction *const*, size_t n_int, + 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); /* @@ -80,13 +82,24 @@ const struct interaction *categoricals_get_interaction_by_subscript (const struc double categoricals_get_sum_by_subscript (const struct categoricals *cat, int subscript); -double categoricals_get_code_for_case (const struct categoricals *cat, int subscript, const struct ccase *c); +/* Returns unity if the value in case C at SUBSCRIPT is equal to the category + for that subscript */ +double +categoricals_get_dummy_code_for_case (const struct categoricals *cat, int subscript, + const struct ccase *c); + +/* Returns unity if the value in case C at SUBSCRIPT is equal to the category + for that subscript. + Else if it is the last category, return -1. + Otherwise return 0. + */ +double +categoricals_get_effects_code_for_case (const struct categoricals *cat, int subscript, + const struct ccase *c); /* These use the long map. Useful for descriptive statistics. */ -/* Return the value corresponding to the N'th category */ -const union value * categoricals_get_value_by_category (const struct categoricals *cat, int n); const struct ccase * categoricals_get_case_by_category_real (const struct categoricals *cat, int iact, int n); @@ -103,8 +116,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); };