X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fmath%2Finteraction.h;h=23bd4f219eaf2813b06f240f91ca27e06ec61a50;hb=4975be792c3ce2112f7c49ceb0d6c4d9be557af2;hp=66db9fb52e557e80154558b4c9a413bc6e79e039;hpb=f5c108becd49d78f4898cab11352291f5689d24e;p=pspp diff --git a/src/math/interaction.h b/src/math/interaction.h index 66db9fb52e..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