/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009 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
#ifndef MATH_SORT_H
#define MATH_SORT_H 1
-#include <stddef.h>
-#include <stdbool.h>
+/* Support for sorting cases.
+
+ Use sort_create_writer() to sort cases in the most general way:
+
+ - Create a casewriter with sort_create_writer(), specifying the sort
+ criteria.
+ - Write all of the cases to be sorted to the casewriter, e.g. with
+ casewriter_write().
+ - Obtain the sorted results with casewriter_make_reader().
+
+ sort_execute() and sort_execute_1var() are shortcuts for situations where the
+ cases are already available from a casereader.
+
+ All of these functions can efficiently sort data bigger than memory. */
struct subcase;
+struct caseproto;
struct variable;
extern int min_buffers ;
extern int max_buffers ;
struct casewriter *sort_create_writer (const struct subcase *,
- size_t value_cnt);
+ const struct caseproto *);
struct casereader *sort_execute (struct casereader *, const struct subcase *);
struct casereader *sort_execute_1var (struct casereader *,
const struct variable *);