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

Rudy Neeser rneeser at common-lisp.net
Sat Sep 4 14:22:45 UTC 2010


Author: rneeser
Date: Sat Sep  4 10:22:45 2010
New Revision: 14

Log:
Added missing files.


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

Modified: cl-heap/trunk/ChangeLog
==============================================================================
--- cl-heap/trunk/ChangeLog	(original)
+++ cl-heap/trunk/ChangeLog	Sat Sep  4 10:22:45 2010
@@ -1,3 +1,11 @@
+2010-09-04  Rudy Neeser  <rudy.neeser at gmail.com>
+
+	* binary-heap.lisp (children-positions, parent-position)
+	(percolate-down, percolate-up, decrease-key, delete-from-heap):
+	Changed the specialising class for various index arguments to
+	these functions from FIXNUM to INTEGER in order to increase
+	portabilty.
+
 2010-03-17  Rudy Neeser  <rudy.neeser at gmail.com>
 
 	* cl-heap-tests.asd: Added a new system definition file to run the

Modified: cl-heap/trunk/binary-heap.lisp
==============================================================================
--- cl-heap/trunk/binary-heap.lisp	(original)
+++ cl-heap/trunk/binary-heap.lisp	Sat Sep  4 10:22:45 2010
@@ -41,14 +41,14 @@
 
 (declaim (inline children-positions))
 (defun children-positions (position)
-  (declare (type fixnum position))
+  (declare (type integer position))
   (check-type position (integer 0 *))
   (values (1+ (* position 2))
 	  (+ 2 (* position 2))))
 
 (declaim (inline parent-position))
 (defun parent-position (position)
-  (declare (type fixnum position))
+  (declare (type integer position))
   (check-type position (integer 0 *))
   (values (floor (/ (1- position) 2))))
 
@@ -56,7 +56,7 @@
   (:documentation "Used to move a value in the DATA array of a
   BINARY-HEAP down the parent-child relationship hierarchy, and so
   preserve heap-ordering.")
-  (:method ((heap binary-heap) (position fixnum))
+  (:method ((heap binary-heap) (position integer))
     (with-slots (data) heap
       (labels ((choose-one (lhs rhs)
 		 ;; Of two nodes, returns the "least"
@@ -88,7 +88,7 @@
 	      (percolate-down heap chosen))))))))
 
 (defgeneric percolate-up (heap position)
-  (:method ((heap binary-heap) (position fixnum))
+  (:method ((heap binary-heap) (position integer))
     (with-slots (data) heap
       (cond
 	((and (/= position 0)
@@ -205,7 +205,7 @@
 	     do (percolate-down first position))))
       first)))
 
-(defmethod decrease-key ((heap binary-heap) (item-index fixnum) value)
+(defmethod decrease-key ((heap binary-heap) (item-index integer) value)
   "Deceases the key of the item pointed to by ITEM-INDEX. The index is
   returned as the second value of ADD-TO-HEAP. The value of the item
   at the index is changed to VALUE, which should be less than its old
@@ -235,7 +235,7 @@
     (percolate-up heap item-index))
   heap)
 
-(defmethod delete-from-heap ((heap binary-heap) (item-index fixnum))
+(defmethod delete-from-heap ((heap binary-heap) (item-index integer))
   "Deltes an item from the heap. ITEM-INDEX is an index representing
   the value to remove, and is the second value returned from
   ADD-TO-HEAP. Note that running most HEAP functions can modify which

Modified: cl-heap/trunk/cl-heap.asd
==============================================================================
--- cl-heap/trunk/cl-heap.asd	(original)
+++ cl-heap/trunk/cl-heap.asd	Sat Sep  4 10:22:45 2010
@@ -27,7 +27,7 @@
 
 (defsystem :cl-heap
     :description "An implementation of heap and priority queue data structures."
-    :version "0.1.3"
+    :version "0.1.4"
     :author "Rudy Neeser <rudy.neeser at gmail.com>"
     :license "GPLv3"
     :serial t




More information about the Cl-heap-cvs mailing list