[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58883] trunk/blender/source/blender/ blenlib/intern/BLI_heap.c: minor changes to BLI_heap, save some CPU cycles.
Campbell Barton
ideasman42 at gmail.com
Sun Aug 4 00:04:47 CEST 2013
Revision: 58883
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58883
Author: campbellbarton
Date: 2013-08-03 22:04:47 +0000 (Sat, 03 Aug 2013)
Log Message:
-----------
minor changes to BLI_heap, save some CPU cycles.
added an assert for incorrect use of BLI_heap_remove
Modified Paths:
--------------
trunk/blender/source/blender/blenlib/intern/BLI_heap.c
Modified: trunk/blender/source/blender/blenlib/intern/BLI_heap.c
===================================================================
--- trunk/blender/source/blender/blenlib/intern/BLI_heap.c 2013-08-03 22:03:15 UTC (rev 58882)
+++ trunk/blender/source/blender/blenlib/intern/BLI_heap.c 2013-08-03 22:04:47 UTC (rev 58883)
@@ -163,7 +163,7 @@
{
HeapNode *node;
- if (UNLIKELY((heap->size + 1) > heap->bufsize)) {
+ if (UNLIKELY(heap->size >= heap->bufsize)) {
heap->bufsize *= 2;
heap->tree = MEM_reallocN(heap->tree, heap->bufsize * sizeof(*heap->tree));
}
@@ -184,7 +184,7 @@
heap->size++;
- heap_up(heap, heap->size - 1);
+ heap_up(heap, node->index);
return node;
}
@@ -230,6 +230,8 @@
{
unsigned int i = node->index;
+ BLI_assert(heap->size != 0);
+
while (i > 0) {
unsigned int p = HEAP_PARENT(i);
More information about the Bf-blender-cvs
mailing list