Polly 19.0.0git
isl_multi_hash.c
Go to the documentation of this file.
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 */
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}
#define FN(TYPE, NAME)
#define __isl_keep
Definition: ctx.h:25
#define BASE
Definition: flow_cmp.c:49
#define isl_hash_hash(h, h2)
Definition: hash.h:26
#define isl_hash_init()
Definition: hash.h:21
#define EL
#define MULTI(BASE)