From 30c9074b962052ac5542f08f799760e60763becf Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 2 Mar 2015 22:31:35 -0800 Subject: [PATCH] Minor beautification. Move struct definitions to the top. Fix-up a comment. --- Modules/_collectionsmodule.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index c39e98df9b2..2546c59fcd8 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -15,9 +15,9 @@ /* The block length may be set to any number over 1. Larger numbers * reduce the number of calls to the memory allocator, give faster - * indexing and rotation, and reduce the link::data overhead ratio. + * indexing and rotation, and reduce the link to data overhead ratio. * Making the block length a power of two speeds-up the modulo - * calculation in deque_item(). + * and division calculations in deque_item() and deque_ass_item(). */ #define BLOCKLEN 64 @@ -56,6 +56,19 @@ typedef struct BLOCK { struct BLOCK *rightlink; } block; +typedef struct { + PyObject_VAR_HEAD + block *leftblock; + block *rightblock; + Py_ssize_t leftindex; /* in range(BLOCKLEN) */ + Py_ssize_t rightindex; /* in range(BLOCKLEN) */ + long state; /* incremented whenever the indices move */ + Py_ssize_t maxlen; + PyObject *weakreflist; /* List of weak references */ +} dequeobject; + +static PyTypeObject deque_type; + /* For debug builds, add error checking to track the endpoints * in the chain of links. The goal is to make sure that link * assignments only take place at endpoints so that links already @@ -119,19 +132,6 @@ freeblock(block *b) } } -typedef struct { - PyObject_VAR_HEAD - block *leftblock; - block *rightblock; - Py_ssize_t leftindex; /* in range(BLOCKLEN) */ - Py_ssize_t rightindex; /* in range(BLOCKLEN) */ - long state; /* incremented whenever the indices move */ - Py_ssize_t maxlen; - PyObject *weakreflist; /* List of weak references */ -} dequeobject; - -static PyTypeObject deque_type; - /* XXX Todo: If aligned memory allocations become available, make the deque object 64 byte aligned so that all of the fields