sort: Add support for combining cases with identical sort criteria.
[pspp] / src / math / sort.h
index 1948d0abea10df18edf47fb81cd736922a99fccb..06227d64ba670cd21013d4b267134fd10238b5c7 100644 (file)
@@ -1,5 +1,5 @@
 /* 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 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 *);
 
+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);
+
 #endif /* math/sort.h */