From aede0547d34feaf86d151fa4f40a598f4d6cad46 Mon Sep 17 00:00:00 2001 From: Patrick Pelissier Date: Fri, 12 Jan 2018 18:56:01 +0100 Subject: [PATCH] Optimization: replace a division into a conditional move. --- m-buffer.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/m-buffer.h b/m-buffer.h index 1d6578cf..394b021f 100644 --- a/m-buffer.h +++ b/m-buffer.h @@ -256,7 +256,7 @@ M_C(name, _init)(buffer_t v, size_t size) \ v->overwrite++; \ /* Let's clear the last element to overwrite it */ \ if (!BUFFERI_POLICY_P((policy), BUFFER_STACK)) { \ - v->idx_prod = (v->idx_prod - 1) % BUFFERI_SIZE(m_size); \ + v->idx_prod = (v->idx_prod == 0) ? BUFFERI_SIZE(m_size)-1 : (v->idx_prod - 1); \ } else { \ (v->idx_prod) --; \ } \ @@ -279,7 +279,7 @@ M_C(name, _init)(buffer_t v, size_t size) \ \ /* Increment production INDEX of the buffer */ \ if (!BUFFERI_POLICY_P((policy), BUFFER_STACK)) { \ - v->idx_prod = (v->idx_prod +1) % BUFFERI_SIZE(m_size); \ + v->idx_prod = (v->idx_prod == BUFFERI_SIZE(m_size)-1) ? 0 : (v->idx_prod + 1); \ } else { \ (v->idx_prod) ++; \ } \ @@ -332,7 +332,7 @@ M_C(name, _init)(buffer_t v, size_t size) \ } else { \ M_DO_INIT_MOVE (oplist, *data, v->data[v->idx_cons]); \ } \ - v->idx_cons = (v->idx_cons +1) % BUFFERI_SIZE(m_size); \ + v->idx_cons = (v->idx_cons == BUFFERI_SIZE(m_size)-1) ? 0 : (v->idx_cons + 1); \ } else { \ /* STACK queue */ \ v->idx_prod --; \