X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Farray.h;h=eab98dcaa908e7f37ca1a5c5e62692f8c7232c80;hb=f447ebdf19acf26d2d46cee1595e99c3620ee30d;hp=a867adea5a91301dd8185dfc394d717a654863bc;hpb=d08af71f38b751323cc9506631bf9ce71070a4ae;p=pspp diff --git a/src/libpspp/array.h b/src/libpspp/array.h index a867adea5a..eab98dcaa9 100644 --- a/src/libpspp/array.h +++ b/src/libpspp/array.h @@ -1,3 +1,21 @@ +/* +PSPP - a program for statistical analysis. +Copyright (C) 2017 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 +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + #ifndef ALGORITHM_H #define ALGORITHM_H 1 @@ -78,7 +96,7 @@ size_t partition (void *array, size_t count, size_t size, for the first TRUE_CNT elements and zero for the remaining elements. AUX is passed as auxiliary data to PREDICATE. */ bool is_partitioned (const void *array, size_t count, size_t size, - size_t true_cnt, + size_t n_trues, algo_predicate_func *predicate, const void *aux); /* Randomly reorders ARRAY, which contains COUNT elements of SIZE @@ -118,7 +136,7 @@ void insert_range (void *array, size_t count, size_t size, /* Makes room for a new element at IDX in ARRAY, which initially consists of COUNT elements of SIZE bytes each, by shifting elements IDX...COUNT (exclusive) to the right by one - positions. */ + position. */ void insert_element (void *array, size_t count, size_t size, size_t idx); @@ -223,11 +241,14 @@ void sort_heap (void *array, size_t count, size_t size, algo_compare_func *compare, const void *aux); /* ARRAY contains COUNT elements of SIZE bytes each. This - function tests whether ARRAY is a heap and returns true if so, - false otherwise. Uses COMPARE to compare elements, passing + function tests whether ARRAY is a heap and returns true if so, + false otherwise. Uses COMPARE to compare elements, passing AUX as auxiliary data. */ bool is_heap (const void *array, size_t count, size_t size, algo_compare_func *compare, const void *aux); +/* Reverses the order of ARRAY, which contains COUNT elements of SIZE bytes + each. */ +void reverse_array (void *array, size_t count, size_t size); #endif /* algorithm.h */