projects
/
platform
/
upstream
/
libsolv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
small optimization for pool_addfileprovides
[platform/upstream/libsolv.git]
/
src
/
bitmap.h
diff --git
a/src/bitmap.h
b/src/bitmap.h
index
d5fa18e
..
5784e6c
100644
(file)
--- a/
src/bitmap.h
+++ b/
src/bitmap.h
@@
-10,8
+10,14
@@
*
*/
*
*/
-#ifndef SATSOLVER_BITMAP_H
-#define SATSOLVER_BITMAP_H
+#ifndef LIBSOLV_BITMAP_H
+#define LIBSOLV_BITMAP_H
+
+#include <string.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
typedef struct _Map {
unsigned char *map;
typedef struct _Map {
unsigned char *map;
@@
-19,6
+25,8
@@
typedef struct _Map {
} Map;
#define MAPZERO(m) (memset((m)->map, 0, (m)->size))
} Map;
#define MAPZERO(m) (memset((m)->map, 0, (m)->size))
+/* set all bits */
+#define MAPSETALL(m) (memset((m)->map, 0xff, (m)->size))
/* set bit */
#define MAPSET(m, n) ((m)->map[(n) >> 3] |= 1 << ((n) & 7))
/* clear bit */
/* set bit */
#define MAPSET(m, n) ((m)->map[(n) >> 3] |= 1 << ((n) & 7))
/* clear bit */
@@
-30,6
+38,9
@@
extern void map_init(Map *m, int n);
extern void map_init_clone(Map *t, Map *s);
extern void map_grow(Map *m, int n);
extern void map_free(Map *m);
extern void map_init_clone(Map *t, Map *s);
extern void map_grow(Map *m, int n);
extern void map_free(Map *m);
+extern void map_and(Map *t, Map *s);
+extern void map_or(Map *t, Map *s);
+extern void map_subtract(Map *t, Map *s);
static inline void map_empty(Map *m)
{
static inline void map_empty(Map *m)
{
@@
-39,6
+50,10
@@
static inline void map_set(Map *m, int n)
{
MAPSET(m, n);
}
{
MAPSET(m, n);
}
+static inline void map_setall(Map *m)
+{
+ MAPSETALL(m);
+}
static inline void map_clr(Map *m, int n)
{
MAPCLR(m, n);
static inline void map_clr(Map *m, int n)
{
MAPCLR(m, n);
@@
-48,4
+63,8
@@
static inline int map_tst(Map *m, int n)
return MAPTST(m, n);
}
return MAPTST(m, n);
}
-#endif /* SATSOLVER_BITMAP_H */
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LIBSOLV_BITMAP_H */