along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* This is a test program for the sparse array routines defined
- in sparse-xarray.c. This test program aims to be as
- comprehensive as possible. "gcov -b" should report 100%
- coverage of lines and branches in sparse-xarray.c when
- compiled with -DNDEBUG. "valgrind --leak-check=yes
- --show-reachable=yes" should give a clean report. */
+ in sparse-xarray.c. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <getopt.h>
#include <assert.h>
#include <limits.h>
#include <stdint.h>
#include <libpspp/sparse-xarray.h>
#include <libpspp/str.h>
-#include "error.h"
#include "minmax.h"
#include "progname.h"
#include "xalloc.h"
for (col = 0; col < params->n_columns; col++)
if (data[col] != model->data[row][col])
{
- mc_error (mc, "xarray %d: element %zu,%zu (of %zu,%zu) "
+ mc_error (mc, "xarray %d: element %d,%d (of %d,%d) "
"differs: %d should be %d",
i, row, col, n_rows, n_columns, data[col],
model->data[row][col]);
ds_clear (&ds);
for (col = 0; col < n_columns; col++)
ds_put_format (&ds, " %d", model->data[row][col]);
- mc_error (mc, "xarray %d: row %zu:%s", i, row, ds_cstr (&ds));
+ mc_error (mc, "xarray %d: row %d:%s", i, row, ds_cstr (&ds));
}
mc_error (mc, "xarray %d: actual:", i);
ds_clear (&ds);
for (col = 0; col < n_columns; col++)
ds_put_format (&ds, " %d", data[col]);
- mc_error (mc, "xarray %d: row %zu:%s", i, row, ds_cstr (&ds));
+ mc_error (mc, "xarray %d: row %d:%s", i, row, ds_cstr (&ds));
}
ds_destroy (&ds);
struct test_model tm;
int i;
- mc_name_operation (mc, "empty sparse_xarray with n_columns=%zu, "
- "max_memory_rows=%zu",
+ mc_name_operation (mc, "empty sparse_xarray with n_columns=%d, "
+ "max_memory_rows=%d",
params->n_columns, params->max_memory_rows);
ts = xmalloc (sizeof *ts);
for (i = 0; i < params->n_xarrays; i++)
OPT_NO_WRITE_ROWS,
OPT_NO_WRITE_COLUMNS,
OPT_NO_COPY_COLUMNS,
- OPT_HELP
+ OPT_HELP,
+ N_SPARSE_XARRAY_OPTIONS
};
-static struct argv_option sparse_xarray_argv_options[] =
+static struct argv_option sparse_xarray_argv_options[N_SPARSE_XARRAY_OPTIONS] =
{
{"columns", 0, required_argument, OPT_COLUMNS},
{"max-rows", 0, required_argument, OPT_MAX_ROWS},
{"no-copy-columns", 0, no_argument, OPT_NO_COPY_COLUMNS},
{"help", 'h', no_argument, OPT_HELP},
};
-enum { N_SPARSE_XARRAY_ARGV_OPTIONS = (sizeof sparse_xarray_argv_options
- / sizeof *sparse_xarray_argv_options) };
static void
sparse_xarray_option_callback (int id, void *params_)
options = mc_options_create ();
mc_options_register_argv_parser (options, parser);
argv_parser_add_options (parser, sparse_xarray_argv_options,
- N_SPARSE_XARRAY_ARGV_OPTIONS,
+ N_SPARSE_XARRAY_OPTIONS,
sparse_xarray_option_callback, ¶ms);
if (!argv_parser_run (parser, argc, argv))
exit (EXIT_FAILURE);