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_multi_macro.h> 10 #include <isl/hash.h> 11 12 /* Return a hash value that digests "multi". 13 */ FN(MULTI (BASE),get_hash)14uint32_t FN(MULTI(BASE),get_hash)(__isl_keep MULTI(BASE) *multi) 15 { 16 int i; 17 uint32_t hash; 18 19 if (!multi) 20 return 0; 21 22 hash = isl_hash_init(); 23 for (i = 0; i < multi->n; ++i) { 24 uint32_t el_hash; 25 el_hash = FN(EL,get_hash)(multi->u.p[i]); 26 isl_hash_hash(hash, el_hash); 27 } 28 29 return hash; 30 } 31