• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)14 uint32_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