Skip to content

Commit

Permalink
64 bits by default
Browse files Browse the repository at this point in the history
  • Loading branch information
vmg committed May 18, 2013
1 parent da758ac commit 8720d12
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 6 deletions.
8 changes: 4 additions & 4 deletions ewah_bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,17 +161,17 @@ void ewah_bitmap_set(struct ewah_bitmap *self, size_t i)
if (dist > 1)
add_word_stream(self, false, dist - 1);

add_literal(self, 1 << (i % BITS_IN_WORD));
add_literal(self, (eword_t)1 << (i % BITS_IN_WORD));
return;
}

if (rlw_get_literal_words(self->rlw) == 0) {
rlw_set_running_len(self->rlw, rlw_get_running_len(self->rlw) - 1);
add_literal(self, 1 << (i % BITS_IN_WORD));
add_literal(self, (eword_t)1 << (i % BITS_IN_WORD));
return;
}

self->buffer[self->buffer_size - 1] |= (1 << (i % BITS_IN_WORD));
self->buffer[self->buffer_size - 1] |= ((eword_t)1 << (i % BITS_IN_WORD));

/* check if we just completed a stream of 1s */
if (self->buffer[self->buffer_size - 1] == (eword_t)(~0)) {
Expand Down Expand Up @@ -206,7 +206,7 @@ void ewah_bitmap_each_bit(struct ewah_bitmap *self, void (*callback)(size_t, voi

/* todo: zero count optimization */
for (c = 0; c < BITS_IN_WORD; ++c, ++pos) {
if ((self->buffer[pointer] & (1 << c)) != 0) {
if ((self->buffer[pointer] & ((eword_t)1 << c)) != 0) {
callback(pos, payload);
}
}
Expand Down
2 changes: 1 addition & 1 deletion ewok.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <stdbool.h>
#include <stdint.h>

typedef uint32_t eword_t;
typedef uint64_t eword_t;
#define BITS_IN_WORD (sizeof(eword_t) * 8)

struct ewah_bitmap {
Expand Down
2 changes: 1 addition & 1 deletion ewok_rlw.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#define RLW_LARGEST_RUNNING_COUNT_SHIFT (RLW_LARGEST_RUNNING_COUNT << 1)

#define RLW_RUNNING_LEN_PLUS_BIT ((1 << (RLW_RUNNING_BITS + 1)) - 1)
#define RLW_RUNNING_LEN_PLUS_BIT (((eword_t)1 << (RLW_RUNNING_BITS + 1)) - 1)

static bool rlw_get_run_bit(const eword_t *word)
{
Expand Down

0 comments on commit 8720d12

Please sign in to comment.