changeset 33756:5866ba5e9c48

cext: move _dict_new_presized() to header Prepares for splitting encoding functions from parsers.c.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 31 Jul 2017 22:12:24 +0900
parents a0e28577f7d4
children e9996bd7203f
files mercurial/cext/parsers.c mercurial/cext/util.h
diffstat 2 files changed, 12 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cext/parsers.c	Fri Jun 30 03:43:31 2017 +0200
+++ b/mercurial/cext/parsers.c	Mon Jul 31 22:12:24 2017 +0900
@@ -155,18 +155,6 @@
 	return _asciitransform(str_obj, uppertable, NULL);
 }
 
-static inline PyObject *_dict_new_presized(Py_ssize_t expected_size)
-{
-	/* _PyDict_NewPresized expects a minused parameter, but it actually
-	   creates a dictionary that's the nearest power of two bigger than the
-	   parameter. For example, with the initial minused = 1000, the
-	   dictionary created has size 1024. Of course in a lot of cases that
-	   can be greater than the maximum load factor Python's dict object
-	   expects (= 2/3), so as soon as we cross the threshold we'll resize
-	   anyway. So create a dictionary that's at least 3/2 the size. */
-	return _PyDict_NewPresized(((1 + expected_size) / 2) * 3);
-}
-
 static PyObject *dict_new_presized(PyObject *self, PyObject *args)
 {
 	Py_ssize_t expected_size;
--- a/mercurial/cext/util.h	Fri Jun 30 03:43:31 2017 +0200
+++ b/mercurial/cext/util.h	Mon Jul 31 22:12:24 2017 +0900
@@ -42,6 +42,18 @@
 #include <stdbool.h>
 #endif
 
+static inline PyObject *_dict_new_presized(Py_ssize_t expected_size)
+{
+	/* _PyDict_NewPresized expects a minused parameter, but it actually
+	   creates a dictionary that's the nearest power of two bigger than the
+	   parameter. For example, with the initial minused = 1000, the
+	   dictionary created has size 1024. Of course in a lot of cases that
+	   can be greater than the maximum load factor Python's dict object
+	   expects (= 2/3), so as soon as we cross the threshold we'll resize
+	   anyway. So create a dictionary that's at least 3/2 the size. */
+	return _PyDict_NewPresized(((1 + expected_size) / 2) * 3);
+}
+
 static const int8_t hextable[256] = {
 	-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
 	-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,