forked from github/server
parent
d4caf29d4f
commit
8e42cb8143
|
@ -58,13 +58,9 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
# define _CRTDBG_MAP_ALLOC
|
||||
#endif
|
||||
|
||||
# define HAVE_INLINE
|
||||
# define INLINE_FUNCTION __inline
|
||||
#endif /* _MSC_VER_ */
|
||||
|
||||
#if defined __GNUC__
|
||||
# define HAVE_INLINE
|
||||
# define INLINE_FUNCTION static __inline
|
||||
# undef _BSD_SOURCE
|
||||
# define _BSD_SOURCE
|
||||
# undef __USE_BSD
|
||||
|
@ -82,12 +78,6 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
# define _XOPEN_SOURCE
|
||||
#endif
|
||||
|
||||
/* TinyCC */
|
||||
#ifdef TINYCC
|
||||
# undef HAVE_INLINE
|
||||
# define INLINE_FUNCTION
|
||||
#endif
|
||||
|
||||
/**** ****
|
||||
** min/max macros **
|
||||
**** ****/
|
||||
|
|
|
@ -29,15 +29,11 @@ extern "C" {
|
|||
extern int *intlist_add(int *i_p, int i);
|
||||
extern int *intlist_find(int *i_p, int i);
|
||||
|
||||
#ifdef HAVE_INLINE
|
||||
# include "strings.c"
|
||||
#else
|
||||
extern unsigned int hashstring(const char *s);
|
||||
extern const char *escape_string(const char *str, char *buffer,
|
||||
unsigned int len);
|
||||
extern unsigned int jenkins_hash(unsigned int a);
|
||||
extern unsigned int wang_hash(unsigned int a);
|
||||
#endif
|
||||
|
||||
/* benchmark for units:
|
||||
* JENKINS_HASH: 5.25 misses/hit (with good cache behavior)
|
||||
|
|
|
@ -21,7 +21,7 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|||
/* libc includes */
|
||||
#include <string.h>
|
||||
|
||||
INLINE_FUNCTION unsigned int hashstring(const char *s)
|
||||
unsigned int hashstring(const char *s)
|
||||
{
|
||||
unsigned int key = 0;
|
||||
while (*s) {
|
||||
|
@ -30,7 +30,7 @@ INLINE_FUNCTION unsigned int hashstring(const char *s)
|
|||
return key & 0x7FFFFFFF;
|
||||
}
|
||||
|
||||
INLINE_FUNCTION const char *escape_string(const char *str, char *buffer,
|
||||
const char *escape_string(const char *str, char *buffer,
|
||||
unsigned int len)
|
||||
{
|
||||
const char *start = strchr(str, '\"');
|
||||
|
@ -69,7 +69,7 @@ INLINE_FUNCTION const char *escape_string(const char *str, char *buffer,
|
|||
return str;
|
||||
}
|
||||
|
||||
INLINE_FUNCTION unsigned int jenkins_hash(unsigned int a)
|
||||
unsigned int jenkins_hash(unsigned int a)
|
||||
{
|
||||
a = (a + 0x7ed55d16) + (a << 12);
|
||||
a = (a ^ 0xc761c23c) ^ (a >> 19);
|
||||
|
@ -80,7 +80,7 @@ INLINE_FUNCTION unsigned int jenkins_hash(unsigned int a)
|
|||
return a;
|
||||
}
|
||||
|
||||
INLINE_FUNCTION unsigned int wang_hash(unsigned int a)
|
||||
unsigned int wang_hash(unsigned int a)
|
||||
{
|
||||
a = ~a + (a << 15); /* a = (a << 15) - a - 1; */
|
||||
a = a ^ (a >> 12);
|
||||
|
|
Loading…
Reference in New Issue