3 * Helper functions for bitmap.h.
5 * This source code is licensed under the GNU General Public License,
6 * Version 2. See the file COPYING for more details.
8 #include <linux/bitmap.h>
10 int __bitmap_weight(const unsigned long *bitmap
, int bits
)
12 int k
, w
= 0, lim
= bits
/BITS_PER_LONG
;
14 for (k
= 0; k
< lim
; k
++)
15 w
+= hweight_long(bitmap
[k
]);
17 if (bits
% BITS_PER_LONG
)
18 w
+= hweight_long(bitmap
[k
] & BITMAP_LAST_WORD_MASK(bits
));
23 void __bitmap_or(unsigned long *dst
, const unsigned long *bitmap1
,
24 const unsigned long *bitmap2
, int bits
)
27 int nr
= BITS_TO_LONGS(bits
);
29 for (k
= 0; k
< nr
; k
++)
30 dst
[k
] = bitmap1
[k
] | bitmap2
[k
];