nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | /* |
2 | * Copyright 2008-2009 Katholieke Universiteit Leuven |
||
3 | * |
||
4 | * Use of this software is governed by the GNU LGPLv2.1 license |
||
5 | * |
||
6 | * Written by Sven Verdoolaege, K.U.Leuven, Departement |
||
7 | * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium |
||
8 | */ |
||
9 | |||
10 | #include <isl/int.h> |
||
11 | |||
12 | uint32_t isl_gmp_hash(mpz_t v, uint32_t hash) |
||
13 | { |
||
14 | int sa = v[0]._mp_size; |
||
15 | int abs_sa = sa < 0 ? -sa : sa; |
||
16 | unsigned char *data = (unsigned char *)v[0]._mp_d; |
||
17 | unsigned char *end = data + abs_sa * sizeof(v[0]._mp_d[0]); |
||
18 | |||
19 | if (sa < 0) |
||
20 | isl_hash_byte(hash, 0xFF); |
||
21 | for (; data < end; ++data) |
||
22 | isl_hash_byte(hash, *data); |
||
23 | return hash; |
||
24 | } |