X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=adt%2Fhashset.c;h=d7fb989b5d91a333783023fdde188add7fe0e26d;hb=cb28c2a2955a21f27cbec01fa86a6eebf514ee76;hp=c2ac58422b783158c3b3a5e7444943af36d44dd4;hpb=d5e8df5885f97ea65839f8970b8697549c207610;p=cparser diff --git a/adt/hashset.c b/adt/hashset.c index c2ac584..d7fb989 100644 --- a/adt/hashset.c +++ b/adt/hashset.c @@ -1,3 +1,23 @@ +/* + * This file is part of cparser. + * Copyright (C) 2007-2008 Matthias Braun + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + /** * @file * @date 17.03.2007 @@ -171,6 +191,18 @@ #error You have to redefine hashset_remove_iterator #endif +/* prototypes to silence warnings */ +size_t hashset_size(const HashSet *this); +void hashset_init(HashSet *this); +void hashset_init_size(HashSet *this, size_t size); +void hashset_destroy(HashSet *this); +InsertReturnValue hashset_insert(HashSet *this, KeyType key); +ValueType hashset_find(const HashSet *this, ConstKeyType key); +void hashset_remove(HashSet *this, ConstKeyType key); +void hashset_iterator_init(HashSetIterator *this, const HashSet *hashset); +ValueType hashset_iterator_next(HashSetIterator *this); +void hashset_remove_iterator(HashSet *this, const HashSetIterator *iter); + /** * Returns the number of elements in the hashset */ @@ -524,7 +556,7 @@ void hashset_init_size(HashSet *this, size_t expected_elements) abort(); } - needed_size = expected_elements * (1.0 / HT_OCCUPANCY_FLT); + needed_size = (size_t) (expected_elements * (1.0 / HT_OCCUPANCY_FLT)); po2size = ceil_po2(needed_size); init_size(this, po2size); } @@ -593,4 +625,6 @@ void hashset_remove_iterator(HashSet *this, const HashSetIterator *iter) this->consider_shrink = 1; } +#else +__attribute__((unused)) static int dummy; #endif