1 /* classes: h_files */
2 
3 #ifndef SCM_HASH_H
4 #define SCM_HASH_H
5 
6 /* Copyright (C) 1995, 1996, 2000, 2006, 2008, 2011,
7  *   2015 Free Software Foundation, Inc.
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * as published by the Free Software Foundation; either version 3 of
12  * the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22  * 02110-1301 USA
23  */
24 
25 
26 
27 #include "libguile/__scm.h"
28 
29 
30 
31 SCM_INTERNAL unsigned long scm_i_locale_string_hash (const char *str,
32                                                      size_t len);
33 SCM_INTERNAL unsigned long scm_i_latin1_string_hash (const  char *str,
34                                                      size_t len);
35 SCM_INTERNAL unsigned long scm_i_utf8_string_hash (const char *str,
36                                                    size_t len);
37 
38 SCM_INTERNAL unsigned long scm_i_string_hash (SCM str);
39 SCM_API unsigned long scm_ihashq (SCM obj, unsigned long n);
40 SCM_API SCM scm_hashq (SCM obj, SCM n);
41 SCM_API unsigned long scm_ihashv (SCM obj, unsigned long n);
42 SCM_API SCM scm_hashv (SCM obj, SCM n);
43 SCM_API unsigned long scm_ihash (SCM obj, unsigned long n);
44 SCM_API SCM scm_hash (SCM obj, SCM n);
45 SCM_INTERNAL void scm_init_hash (void);
46 
47 #endif  /* SCM_HASH_H */
48 
49 /*
50   Local Variables:
51   c-file-style: "gnu"
52   End:
53 */
54