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 */ FN(PW,get_hash)14uint32_t FN(PW,get_hash)(__isl_keep PW *pw) 15 { 16 int i; 17 uint32_t hash; 18 19 if (!pw) 20 return 0; 21 22 hash = isl_hash_init(); 23 for (i = 0; i < pw->n; ++i) { 24 uint32_t set_hash, el_hash; 25 26 set_hash = isl_set_get_hash(pw->p[i].set); 27 isl_hash_hash(hash, set_hash); 28 el_hash = FN(EL,get_hash)(pw->p[i].FIELD); 29 isl_hash_hash(hash, el_hash); 30 } 31 32 return hash; 33 } 34