X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fcasereader.h;h=a2d9403bb03bce10ede5a638f459261889d373ad;hb=dcdf58a8089283c5eee2ea642e03dfacc60543e5;hp=bd066a90ed0ffe5e27d23aeeca5d5cafb89a968d;hpb=ed88deded6a59254dd55883308c4c20966efc77e;p=pspp-builds.git diff --git a/src/data/casereader.h b/src/data/casereader.h index bd066a90..a2d9403b 100644 --- a/src/data/casereader.h +++ b/src/data/casereader.h @@ -1,20 +1,18 @@ -/* PSPP - computes sample statistics. +/* PSPP - a program for statistical analysis. 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 2 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 3 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. */ + along with this program. If not, see . */ /* Casereader client interface. @@ -72,6 +70,7 @@ void casereader_swap (struct casereader *, struct casereader *); bool casereader_peek (struct casereader *, casenumber, struct ccase *) WARN_UNUSED_RESULT; +bool casereader_is_empty (struct casereader *); bool casereader_error (const struct casereader *); void casereader_force_error (struct casereader *); @@ -97,8 +96,9 @@ casereader_create_filter_weight (struct casereader *, struct casewriter *exclude); struct casereader * casereader_create_filter_missing (struct casereader *, - struct variable **vars, size_t var_cnt, + const struct variable **vars, size_t var_cnt, enum mv_class, + casenumber *n_missing, struct casewriter *exclude); struct casereader * @@ -107,10 +107,31 @@ casereader_create_counter (struct casereader *, casenumber *counter, struct casereader * casereader_create_translator (struct casereader *, size_t output_value_cnt, - void (*translate) (const struct ccase *input, + void (*translate) (struct ccase *input, struct ccase *output, void *aux), bool (*destroy) (void *aux), void *aux); +/* A function which creates a numberic value from an existing case */ +typedef double new_value_func (const struct ccase *, casenumber, void *); + +struct casereader * +casereader_create_append_numeric (struct casereader *subreader, + new_value_func func, void *aux, + void (*destroy) (void *aux)); + +struct casereader * +casereader_create_arithmetic_sequence (struct casereader *, + double first, double increment); + + +typedef void distinct_func (double v, casenumber n, double w, void *aux); + +struct casereader * +casereader_create_append_rank (struct casereader *, + const struct variable *v, const struct variable *w, + distinct_func *distinct_callback, void *aux); + + #endif /* data/casereader.h */