Line data Source code
1 : /*
2 : * Copyright 2016 Sven Verdoolaege
3 : *
4 : * Use of this software is governed by the MIT license
5 : *
6 : * Written by Sven Verdoolaege
7 : */
8 :
9 : #include <isl_pw_macro.h>
10 : #include <isl/hash.h>
11 :
12 : /* Return a hash value that digests "pw".
13 : */
14 0 : uint32_t FN(PW,get_hash)(__isl_keep PW *pw)
15 : {
16 : int i;
17 : uint32_t hash;
18 :
19 0 : if (!pw)
20 0 : return 0;
21 :
22 0 : hash = isl_hash_init();
23 0 : for (i = 0; i < pw->n; ++i) {
24 : uint32_t set_hash, el_hash;
25 :
26 0 : set_hash = isl_set_get_hash(pw->p[i].set);
27 0 : isl_hash_hash(hash, set_hash);
28 0 : el_hash = FN(EL,get_hash)(pw->p[i].FIELD);
29 0 : isl_hash_hash(hash, el_hash);
30 : }
31 :
32 0 : return hash;
33 : }
|