1 /* PSPP - a program for statistical analysis.
2 Copyright (C) 2004 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 #include "subcommand-list.h"
23 /* I call these objects `lists' but they are in fact simple dynamic arrays */
29 subc_list_double_create(subc_list_double *l)
31 l->data = xnmalloc (CHUNKSIZE, sizeof *l->data);
37 subc_list_int_create(subc_list_int *l)
39 l->data = xnmalloc (CHUNKSIZE, sizeof *l->data);
44 /* Push a value onto the list */
46 subc_list_double_push(subc_list_double *l, double d)
48 l->data[l->n_data++] = d;
50 if (l->n_data >= l->sz )
53 l->data = xnrealloc (l->data, l->sz, sizeof *l->data);
59 subc_list_int_push(subc_list_int *l, int d)
61 l->data[l->n_data++] = d;
63 if (l->n_data >= l->sz )
66 l->data = xnrealloc (l->data, l->sz, sizeof *l->data);
71 /* Return the number of items in the list */
73 subc_list_double_count(const subc_list_double *l)
79 subc_list_int_count(const subc_list_int *l)
85 /* Index into the list (array) */
87 subc_list_double_at(const subc_list_double *l, int idx)
93 subc_list_int_at(const subc_list_int *l, int idx)
98 /* Free up the list */
100 subc_list_double_destroy(subc_list_double *l)
106 subc_list_int_destroy(subc_list_int *l)