bitmaps.h
1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
* bitmaps.h
*
* Created on: 24/08/2014
* Author: pedro
*/
#ifndef SRC_BITMAPS_H_
#define SRC_BITMAPS_H_
#include "domains.h"
void b_check_and_update_bounds(unsigned int d_min, unsigned int d_max);
void b_new_val(bitmap* d, unsigned int val);
void b_new_range(bitmap* d, unsigned int min, unsigned int max);
void b_new_vals(bitmap* d, unsigned int* d_vals, unsigned int n_vals);
void b_set_val(bitmap* d, unsigned int val);
void b_clear(bitmap* d);
bool b_is_empty(bitmap* d);
bool b_contains_val(bitmap* d, unsigned int val);
bool bs_eq(bitmap* d1, bitmap* d2);
unsigned int b_get_nth_val(bitmap* d, unsigned int nth);
void b_copy(bitmap* d_dest, bitmap* d_src);
unsigned int b_cnt_vals(bitmap* d);
int b_get_min_val(bitmap* d);
int b_get_max_val(bitmap* d);
bool b_intersect_b(bitmap* d1, bitmap* d2);
bool b_union_b(bitmap* d1, bitmap* d2);
bool b_del_singl_val(bitmap* d_to_chg, bitmap* d);
bool b_del_lt(bitmap* d, unsigned int val);
bool b_del_le(bitmap* d, unsigned int val);
bool b_del_gt(bitmap* d, unsigned int val);
bool b_del_ge(bitmap* d, unsigned int val);
bool b_del_val(bitmap* d, unsigned int val);
bool b_del_all_except_val(bitmap* d, unsigned int val);
void b_print_domain(bitmap* d);
void b_copy_dev_to_host(bitmap* host_b, void** dev_bs, unsigned int bitmap_n);
#endif /* SRC_BITMAPS_H_ */