/* PSPP - a program for statistical analysis.
- Copyright (C) 1997-9, 2000, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1997-9, 2000, 2006, 2009, 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
#ifndef MATH_SORT_H
#define MATH_SORT_H 1
-#include <stddef.h>
-#include <stdbool.h>
-
-struct case_ordering;
+struct subcase;
+struct caseproto;
+struct variable;
extern int min_buffers ;
extern int max_buffers ;
-struct casewriter *sort_create_writer (struct case_ordering *, size_t value_cnt);
-struct casereader *sort_execute (struct casereader *, struct case_ordering *);
+struct casewriter *sort_create_writer (const struct subcase *,
+ const struct caseproto *);
+struct casereader *sort_execute (struct casereader *, const struct subcase *);
+struct casereader *sort_execute_1var (struct casereader *,
+ const struct variable *);
+
+typedef struct ccase *sort_distinct_combine_func (struct ccase *first,
+ struct ccase *second,
+ void *aux);
+typedef void sort_distinct_destroy_func (void *aux);
+struct casewriter *sort_distinct_create_writer (const struct subcase *,
+ const struct caseproto *,
+ sort_distinct_combine_func *,
+ sort_distinct_destroy_func *,
+ void *aux);
+struct casereader *sort_distinct_execute (struct casereader *,
+ const struct subcase *,
+ sort_distinct_combine_func *,
+ sort_distinct_destroy_func *,
+ void *aux);
#endif /* math/sort.h */