Home | History | Annotate | Line # | Download | only in dist
      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  */
     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