Polly 19.0.0git
isl_pw_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_pw_macro.h>
10#include <isl/hash.h>
11
12/* Return a hash value that digests "pw".
13 */
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}
#define FN(TYPE, NAME)
#define __isl_keep
Definition: ctx.h:25
#define isl_hash_hash(h, h2)
Definition: hash.h:26
#define isl_hash_init()
Definition: hash.h:21
#define PW
Definition: isl_aff.c:4582
#define EL
uint32_t isl_set_get_hash(__isl_keep isl_set *set)
Definition: isl_map.c:11245