maint: update copyright
[gnulib.git] / lib / fstrcmp.h
1 /* Fuzzy string comparison.
2    Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2014 Free Software
3    Foundation, Inc.
4
5    This file was written by Peter Miller <pmiller@agso.gov.au>
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
19
20 #ifndef _FSTRCMP_H
21 #define _FSTRCMP_H
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 /* Fuzzy compare of S1 and S2.  Return a measure for the similarity of S1
28    and S1.  The higher the result, the more similar the strings are.
29    The result is bounded between 0 (meaning very dissimilar strings) and
30    1 (meaning identical strings).  */
31 extern double fstrcmp (const char *s1, const char *s2);
32
33 /* Like fstrcmp (S1, S2), except that if the result is < LOWER_BOUND, an
34    arbitrary other value < LOWER_BOUND can be returned.  */
35 extern double fstrcmp_bounded (const char *s1, const char *s2,
36                                double lower_bound);
37
38 /* A shortcut for fstrcmp.  Avoids a function call.  */
39 #define fstrcmp(s1,s2) fstrcmp_bounded (s1, s2, 0.0)
40
41 #ifdef __cplusplus
42 }
43 #endif
44
45 #endif