github.com/ledgerwatch/erigon-lib@v1.0.0/sais/sais.h (about)

     1  /*
     2   * sais.h for sais-lite
     3   * Copyright (c) 2008-2010 Yuta Mori All Rights Reserved.
     4   *
     5   * Permission is hereby granted, free of charge, to any person
     6   * obtaining a copy of this software and associated documentation
     7   * files (the "Software"), to deal in the Software without
     8   * restriction, including without limitation the rights to use,
     9   * copy, modify, merge, publish, distribute, sublicense, and/or sell
    10   * copies of the Software, and to permit persons to whom the
    11   * Software is furnished to do so, subject to the following
    12   * conditions:
    13   *
    14   * The above copyright notice and this permission notice shall be
    15   * included in all copies or substantial portions of the Software.
    16   *
    17   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    18   * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
    19   * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    20   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
    21   * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
    22   * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    23   * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    24   * OTHER DEALINGS IN THE SOFTWARE.
    25   */
    26  
    27  #ifndef _SAIS_H
    28  #define _SAIS_H 1
    29  
    30  // #ifdef __cplusplus
    31  // extern "C"
    32  // {
    33  // #endif /* __cplusplus */
    34  
    35  //    /* find the suffix array SA of T[0..n-1]
    36  //       use a working space (excluding T and SA) of at most 2n+O(lg n) */
    37  //    int sais(const unsigned char *T, int *SA, int n);
    38  //    /* find the suffix array SA of T[0..n-1] in {0..k-1}^n
    39  //       use a working space (excluding T and SA) of at most MAX(4k,2n) */
    40  //    int sais_int(const int *T, int *SA, int n, int k);
    41  
    42  //    /* burrows-wheeler transform */
    43  //    int sais_bwt(const unsigned char *T, unsigned char *U, int *A, int n);
    44  //    int sais_int_bwt(const int *T, int *U, int *A, int n, int k);
    45  
    46  // #ifdef __cplusplus
    47  // } /* extern "C" */
    48  // #endif /* __cplusplus */
    49  extern int sais(const unsigned char *T, int *SA, int n);
    50  #endif /* _SAIS_H */
    51