Teach new_tarval_from_str_int() to parse binary numbers: 0[bB][01]+.
[libfirm] / ir / adt / cpset.c
index 4f42961..e204800 100644 (file)
@@ -1,3 +1,30 @@
+/*
+ * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
+ */
+
+/**
+ * @file
+ * @brief   Custom pointer set
+ * @author  Matthias Braun
+ *
+ * This implements a set of pointers which allows to specify custom callbacks
+ * for comparing and hashing its elements.
+ */
 #include "config.h"
 
 #include "cpset.h"
 #define ValueType                 void*
 #define NullValue                 NULL
 #define DeletedValue              ((void*)-1)
-#define Hash(this,value)          this->hash_function(value)
+#define Hash(this,key)            this->hash_function(key)
 #define KeysEqual(this,key1,key2) this->cmp_function(key1, key2)
+#define SCALAR_RETURN
 #define SetRangeEmpty(ptr,size)   memset(ptr, 0, (size) * sizeof(cpset_hashset_entry_t))
 
-#define hashset_init            _cpset_init
-#define hashset_init_size       _cpset_init_size
+void cpset_init_(cpset_t *self);
+#define hashset_init            cpset_init_
+void cpset_init_size_(cpset_t *self, size_t expected_elems);
+#define hashset_init_size       cpset_init_size_
 #define hashset_destroy         cpset_destroy
 #define hashset_insert          cpset_insert
 #define hashset_remove          cpset_remove
 
 #include "hashset.c"
 
-void cpset_init(cpset_t *this, cpset_hash_function hash_function,
+void cpset_init(cpset_t *this_, cpset_hash_function hash_function,
                 cpset_cmp_function cmp_function)
 {
-       this->hash_function = hash_function;
-       this->cmp_function = cmp_function;
-       _cpset_init(this);
+       this_->hash_function = hash_function;
+       this_->cmp_function = cmp_function;
+       cpset_init_(this_);
 }
 
-void cpset_init_size(cpset_t *this, cpset_hash_function hash_function,
+void cpset_init_size(cpset_t *this_, cpset_hash_function hash_function,
                      cpset_cmp_function cmp_function, size_t expected_elems)
 {
-       this->hash_function = hash_function;
-       this->cmp_function = cmp_function;
-       _cpset_init_size(this, expected_elems);
+       this_->hash_function = hash_function;
+       this_->cmp_function = cmp_function;
+       cpset_init_size_(this_, expected_elems);
 }