X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fdivsufsort.h;h=8ec81a9f652d6e882b9dadea2eae15d6964be95b;hb=1935b4a25c79127e7b7394f810e496895f0ad937;hp=b5c1c92474127a27722e8ddadbc581fe707b984b;hpb=765ad052ef565bda36dbe103479f9929b5862e3f;p=wimlib diff --git a/include/wimlib/divsufsort.h b/include/wimlib/divsufsort.h index b5c1c924..8ec81a9f 100644 --- a/include/wimlib/divsufsort.h +++ b/include/wimlib/divsufsort.h @@ -1,49 +1,11 @@ -/* - * divsufsort.h for libdivsufsort-lite - * Copyright (c) 2003-2008 Yuta Mori All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ +#ifndef _WIMLIB_DIVSUFSORT_H +#define _WIMLIB_DIVSUFSORT_H -#ifndef _DIVSUFSORT_H -#define _DIVSUFSORT_H 1 +#include "wimlib/types.h" -/*- Prototypes -*/ - -/** - * Constructs the suffix array of a given string. - * @param T[0..n-1] The input string. - * @param SA[0..n-1] The output array of suffixes. - * @param n The length of the given string. - * @param bucket_A Temporary array with 256 entries - * @param bucket_B Temporary array with 65536 entries - */ extern void -divsufsort(const unsigned char *T, int *SA, int n, - int *bucket_A, int *bucket_B); - -#define DIVSUFSORT_TMP1_SIZE (256 * sizeof(saidx_t)) /* bucket_A */ -#define DIVSUFSORT_TMP2_SIZE (256 * 256 * sizeof(saidx_t)) /* bucket_B */ +divsufsort(const u8 *T, u32 *SA, u32 n, u32 *tmp); -typedef int saidx_t; +#define DIVSUFSORT_TMP_LEN (256 + (256 * 256)) -#endif /* _DIVSUFSORT_H */ +#endif /* _WIMLIB_DIVSUFSORT_H */