[Cl-heap-cvs] r9 - cl-heap/trunk

Rudy Neeser rneeser at common-lisp.net
Sun Dec 20 07:07:16 UTC 2009


Author: rneeser
Date: Sun Dec 20 02:07:15 2009
New Revision: 9

Log:
* binary-heap.lisp (add-to-heap, add-all-to-heap): Fixed a bug in
updating the size of the DATA array in the BINARY-HEAP class.


Modified:
   cl-heap/trunk/ChangeLog
   cl-heap/trunk/binary-heap.lisp

Modified: cl-heap/trunk/ChangeLog
==============================================================================
--- cl-heap/trunk/ChangeLog	(original)
+++ cl-heap/trunk/ChangeLog	Sun Dec 20 02:07:15 2009
@@ -1,3 +1,8 @@
+2009-12-20  Rudy Neeser  <rudy.neeser at gmail.com>
+
+	* binary-heap.lisp (add-to-heap, add-all-to-heap): Fixed a bug in
+	updating the size of the DATA array in the BINARY-HEAP class.
+
 2009-06-18  Rudy Neeser  <rudy.neeser at gmail.com>
 
 	* fibonacci-heap.lisp (pop-heap): Fixed a bug which created an

Modified: cl-heap/trunk/binary-heap.lisp
==============================================================================
--- cl-heap/trunk/binary-heap.lisp	(original)
+++ cl-heap/trunk/binary-heap.lisp	Sun Dec 20 02:07:15 2009
@@ -1,3 +1,4 @@
+(declaim (optimize (debug 3) (safety 3) (speed 0)))
 ;;; Copyright 2009 Rudolph Neeser <rudy.neeser at gmail.com>.
 ;;; 
 ;;; This file is part of CL-HEAP
@@ -131,7 +132,7 @@
 number of items in the heap."
   (with-slots (data
 	       (factor extension-factor)) heap
-    (vector-push-extend item data (ceiling (* (/ factor 100)  (length data))))
+    (vector-push-extend item data (ceiling (* (/ factor 100)  (array-total-size data))))
     (values item (percolate-up heap (1- (length data))))))
 
 (defmethod pop-heap ((heap binary-heap))
@@ -153,7 +154,7 @@
 	       (factor extension-factor)) heap
     ;; Add all items, which is linear time since no sorting occurs here.
     (loop for item in items
-       do (vector-push-extend item data (ceiling (* (/ factor 100) (length data)))))
+       do (vector-push-extend item data (ceiling (* (/ factor 100) (array-total-size data)))))
     (loop for position from (parent-position (1- (length data))) downto 0
        do (percolate-down heap position)))
   heap)




More information about the Cl-heap-cvs mailing list