From 7eaaf6afb69b17d91155f7f0d400f239bc00c664 Mon Sep 17 00:00:00 2001 From: DNKpp Date: Tue, 25 Aug 2020 23:07:58 +0200 Subject: [PATCH] let Deque::getItem return for each control path Signed-off-by: DNKpp --- include/reactphysics3d/containers/Deque.h | 32 ++++++++++------------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/include/reactphysics3d/containers/Deque.h b/include/reactphysics3d/containers/Deque.h index aee57596..5ccbb7ee 100644 --- a/include/reactphysics3d/containers/Deque.h +++ b/include/reactphysics3d/containers/Deque.h @@ -92,29 +92,25 @@ class Deque { T& getItem(size_t virtualIndex) const { // If the virtual index is valid - if (virtualIndex < mSize) { + assert (virtualIndex < mSize); - size_t chunkIndex = mFirstChunkIndex; - size_t itemIndex = mFirstItemIndex; + size_t chunkIndex = mFirstChunkIndex; + size_t itemIndex = mFirstItemIndex; - const size_t nbItemsFirstChunk = CHUNK_NB_ITEMS - mFirstItemIndex; - if (virtualIndex < nbItemsFirstChunk) { - itemIndex += virtualIndex; - } - else { - - virtualIndex -= nbItemsFirstChunk; - chunkIndex++; - - chunkIndex += virtualIndex / CHUNK_NB_ITEMS; - itemIndex = virtualIndex % CHUNK_NB_ITEMS; - } - - return mChunks[chunkIndex][itemIndex]; + const size_t nbItemsFirstChunk = CHUNK_NB_ITEMS - mFirstItemIndex; + if (virtualIndex < nbItemsFirstChunk) { + itemIndex += virtualIndex; } else { - assert(false); + + virtualIndex -= nbItemsFirstChunk; + chunkIndex++; + + chunkIndex += virtualIndex / CHUNK_NB_ITEMS; + itemIndex = virtualIndex % CHUNK_NB_ITEMS; } + + return mChunks[chunkIndex][itemIndex]; } /// Add more chunks