All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Jonathan Tan" <jonathantanmy@google.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Christian Couder" <chriscool@tuxfamily.org>
Subject: [PATCH 15/17] khash: rename oid helper functions
Date: Thu, 20 Jun 2019 03:41:42 -0400	[thread overview]
Message-ID: <20190620074141.GO3713@sigill.intra.peff.net> (raw)
In-Reply-To: <20190620073952.GA1539@sigill.intra.peff.net>

For use in object_id hash tables, we have oid_hash() and oid_equal().
But these are confusingly similar to the existing oideq() and the
oidhash() we plan to add to replace sha1hash().

The big difference from those functions is that rather than accepting a
const pointer to the "struct object_id", we take the arguments by value
(which is a khash internal convention). So let's make that obvious by
calling them oidhash_by_value() and oideq_by_value().

Those names are fairly horrendous to type, but we rarely need to do so;
they are passed to the khash implementation macro and then only used
internally. Callers get to use the nice kh_put_oid_map(), etc.

Signed-off-by: Jeff King <peff@peff.net>
---
 khash.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/khash.h b/khash.h
index cb2cd3d7e4..f911d2b005 100644
--- a/khash.h
+++ b/khash.h
@@ -324,20 +324,20 @@ static const double __ac_HASH_UPPER = 0.77;
 		code;												\
 	} }
 
-static inline unsigned int oid_hash(struct object_id oid)
+static inline unsigned int oidhash_by_value(struct object_id oid)
 {
 	return sha1hash(oid.hash);
 }
 
-static inline int oid_equal(struct object_id a, struct object_id b)
+static inline int oideq_by_value(struct object_id a, struct object_id b)
 {
 	return oideq(&a, &b);
 }
 
-KHASH_INIT(oid_set, struct object_id, int, 0, oid_hash, oid_equal)
+KHASH_INIT(oid_set, struct object_id, int, 0, oidhash_by_value, oideq_by_value)
 
-KHASH_INIT(oid_map, struct object_id, void *, 1, oid_hash, oid_equal)
+KHASH_INIT(oid_map, struct object_id, void *, 1, oidhash_by_value, oideq_by_value)
 
-KHASH_INIT(oid_pos, struct object_id, int, 1, oid_hash, oid_equal)
+KHASH_INIT(oid_pos, struct object_id, int, 1, oidhash_by_value, oideq_by_value)
 
 #endif /* __AC_KHASH_H */
-- 
2.22.0.732.g5402924b4b


  parent reply	other threads:[~2019-06-20  7:41 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-15 10:06 [PATCH v4 0/4] Test oidmap Christian Couder
2019-06-15 10:06 ` [PATCH v4 1/4] t/helper: add test-oidmap.c Christian Couder
2019-06-15 10:07 ` [PATCH v4 2/4] t: add t0016-oidmap.sh Christian Couder
2019-06-15 10:07 ` [PATCH v4 3/4] oidmap: use sha1hash() instead of static hash() function Christian Couder
2019-06-15 10:07 ` [PATCH v4 4/4] test-hashmap: remove 'hash' command Christian Couder
2019-06-19 21:42 ` [PATCH v4 0/4] Test oidmap Jeff King
2019-06-19 22:09   ` Jeff King
2019-06-19 22:25     ` Christian Couder
2019-06-20  7:39   ` [PATCH 0/17] drop non-object_id hashing Jeff King
2019-06-20  7:40     ` [PATCH 01/17] describe: fix accidental oid/hash type-punning Jeff King
2019-06-20 16:32       ` Junio C Hamano
2019-06-20 18:25         ` Jeff King
2019-06-20  7:40     ` [PATCH 02/17] upload-pack: rename a "sha1" variable to "oid" Jeff King
2019-06-20  7:40     ` [PATCH 03/17] pack-bitmap-write: convert some helpers to use object_id Jeff King
2019-06-20  7:41     ` [PATCH 04/17] pack-objects: convert packlist_find() " Jeff King
2019-06-20  7:41     ` [PATCH 05/17] pack-objects: convert locate_object_entry_hash() to object_id Jeff King
2019-06-20  7:41     ` [PATCH 06/17] object: convert lookup_unknown_object() to use object_id Jeff King
2019-06-20  7:41     ` [PATCH 07/17] object: convert lookup_object() " Jeff King
2019-06-20  7:41     ` [PATCH 08/17] object: convert internal hash_obj() to object_id Jeff King
2019-06-20  7:41     ` [PATCH 09/17] object: convert create_object() to use object_id Jeff King
2019-06-20 14:21       ` Ramsay Jones
2019-06-20 18:23         ` Jeff King
2019-06-20  7:41     ` [PATCH 10/17] khash: drop broken oid_map typedef Jeff King
2019-06-20  7:41     ` [PATCH 11/17] khash: rename kh_oid_t to kh_oid_set Jeff King
2019-06-20  7:41     ` [PATCH 12/17] delta-islands: convert island_marks khash to use oids Jeff King
2019-06-20 17:38       ` Jonathan Tan
2019-06-20 18:29         ` Jeff King
2019-06-20  7:41     ` [PATCH 13/17] pack-bitmap: convert khash_sha1 maps into kh_oid_map Jeff King
2019-06-20  7:41     ` [PATCH 14/17] khash: drop sha1-specific map types Jeff King
2019-06-20  7:41     ` Jeff King [this message]
2019-06-20 17:44       ` [PATCH 15/17] khash: rename oid helper functions Junio C Hamano
2019-06-20 18:27         ` Jeff King
2019-06-23 16:00           ` René Scharfe
2019-06-23 22:46             ` Jeff King
2019-06-20  7:41     ` [PATCH 16/17] hash.h: move object_id definition from cache.h Jeff King
2019-06-20 17:41       ` Junio C Hamano
2019-06-20  7:41     ` [PATCH 17/17] hashmap: convert sha1hash() to oidhash() Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190620074141.GO3713@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=avarab@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jonathantanmy@google.com \
    --cc=szeder.dev@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.