projects
/
platform
/
upstream
/
libsolv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Imported Upstream version 0.6.28
[platform/upstream/libsolv.git]
/
src
/
hash.h
diff --git
a/src/hash.h
b/src/hash.h
index
030448e
..
4f595bb
100644
(file)
--- a/
src/hash.h
+++ b/
src/hash.h
@@
-15,11
+15,12
@@
#include "pooltypes.h"
#include "pooltypes.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* value of a hash */
typedef unsigned int Hashval;
/* value of a hash */
typedef unsigned int Hashval;
-/* mask for hash, used as modulo operator to ensure 'wrapping' of hash
- values -> hash table */
-typedef unsigned int Hashmask;
/* inside the hash table, Ids are stored. Hash maps: string -> hash -> Id */
typedef Id *Hashtable;
/* inside the hash table, Ids are stored. Hash maps: string -> hash -> Id */
typedef Id *Hashtable;
@@
-72,17
+73,21
@@
relhash(Id name, Id evr, int flags)
/* compute bitmask for value
/* compute bitmask for value
- * returns smallest (2^n-1) >
num
- *
+ * returns smallest (2^n-1) >
2 * num + 3
+ *
* used for Hashtable 'modulo' operation
* used for Hashtable 'modulo' operation
- */
-static inline Hash
mask
+ */
+static inline Hash
val
mkmask(unsigned int num)
{
mkmask(unsigned int num)
{
- num
*= 2
;
+ num
= num * 2 + 3
;
while (num & (num - 1))
num &= num - 1;
return num * 2 - 1;
}
while (num & (num - 1))
num &= num - 1;
return num * 2 - 1;
}
+#ifdef __cplusplus
+}
+#endif
+
#endif /* LIBSOLV_HASH_H */
#endif /* LIBSOLV_HASH_H */