merging works
[pspp] / src / data / caseinit.h
index 7c7f1c69e7d7288a98d7c6da07b03e1cf1eba350..9f566218428f45c354e13c09a86c083a2e83fabf 100644 (file)
@@ -1,32 +1,32 @@
-/* PSPP - computes sample statistics.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+/* PSPP - a program for statistical analysis.
+   Copyright (C) 2007, 2010 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
 
    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 <http://www.gnu.org/licenses/>. */
 
 /* Case initializer.
 
    The procedure code has to resize cases provided by the active
 
 /* Case initializer.
 
    The procedure code has to resize cases provided by the active
-   file data source, to provide room for any other variables that
+   dataset data source, to provide room for any other variables that
    should go in the case, fill in the values of "left" variables,
    and initialize the values of other non-left variable to zero
    or spaces.  Then, when we're done with that case, we have to
    save the values of "left" variables to copy into the next case
    should go in the case, fill in the values of "left" variables,
    and initialize the values of other non-left variable to zero
    or spaces.  Then, when we're done with that case, we have to
    save the values of "left" variables to copy into the next case
-   read from the active file.
+   read from the active dataset.
 
 
-   The caseinit code helps with this. */
+   The caseinit data structure provides a little help for
+   tracking what data to initialize or to copy from case to
+   case. */
 
 #ifndef DATA_CASEINIT_H
 #define DATA_CASEINIT_H 1
 
 #ifndef DATA_CASEINIT_H
 #define DATA_CASEINIT_H 1
 struct dictionary;
 struct ccase;
 
 struct dictionary;
 struct ccase;
 
+/* Creation and destruction. */
 struct caseinit *caseinit_create (void);
 struct caseinit *caseinit_create (void);
+struct caseinit *caseinit_clone (struct caseinit *);
 void caseinit_clear (struct caseinit *);
 void caseinit_destroy (struct caseinit *);
 
 void caseinit_clear (struct caseinit *);
 void caseinit_destroy (struct caseinit *);
 
+/* Track data to be initialized. */
 void caseinit_mark_as_preinited (struct caseinit *, const struct dictionary *);
 void caseinit_mark_for_init (struct caseinit *, const struct dictionary *);
 
 void caseinit_mark_as_preinited (struct caseinit *, const struct dictionary *);
 void caseinit_mark_for_init (struct caseinit *, const struct dictionary *);
 
-void caseinit_init_reinit_vars (const struct caseinit *, struct ccase *);
-void caseinit_init_left_vars (const struct caseinit *, struct ccase *);
+/* Initialize data and copy data from case to case. */
+void caseinit_init_vars (const struct caseinit *, struct ccase *);
 void caseinit_update_left_vars (struct caseinit *, const struct ccase *);
 
 #endif /* data/caseinit.h */
 void caseinit_update_left_vars (struct caseinit *, const struct ccase *);
 
 #endif /* data/caseinit.h */