X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Finteraction.h;h=23bd4f219eaf2813b06f240f91ca27e06ec61a50;hb=8fa37ab22125896c4549d8681804aa65095d4c1c;hp=4e709818f59c6336294790e4a257e4bb90010832;hpb=5715e8846c6e3a8dd539b2dc9c9c65640f84af76;p=pspp diff --git a/src/math/interaction.h b/src/math/interaction.h index 4e709818f5..23bd4f219e 100644 --- a/src/math/interaction.h +++ b/src/math/interaction.h @@ -1,21 +1,52 @@ -/* PSPP - Creates data structures to store interactions for - statistical routines. +/* PSPP - a program for statistical analysis. + Copyright (C) 2011 Free Software Foundation, Inc. - Copyright (C) 2007 Free Software Foundation, Inc. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ -gsl_vector * -get_interaction (union value **, const struct variable **, size_t); + along with this program. If not, see . */ + + +#ifndef _INTERACTION_H__ +#define _INTERACTION_H__ 1 + +#include +#include "data/missing-values.h" + +struct interaction; +struct variable; +struct string; + +#include +struct interaction +{ + size_t n_vars; + const struct variable **vars; +}; + +struct interaction * interaction_create (const struct variable *); +struct interaction * interaction_clone (const struct interaction *); +void interaction_destroy (struct interaction *); +void interaction_add_variable (struct interaction *, const struct variable *); +void interaction_dump (const struct interaction *); +void interaction_to_string (const struct interaction *iact, struct string *str); +bool interaction_is_proper_subset (const struct interaction *x, const struct interaction *y); +bool interaction_is_subset (const struct interaction *x, const struct interaction *y); + + +struct ccase; +unsigned int interaction_case_hash (const struct interaction *, const struct ccase *, unsigned int base); +bool interaction_case_equal (const struct interaction *, const struct ccase *, const struct ccase *); +bool interaction_case_is_missing (const struct interaction *, const struct ccase *, enum mv_class); +int interaction_case_cmp_3way (const struct interaction *, const struct ccase *, const struct ccase *); + + +#endif