X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fsrctran.lisp;h=6b554db0dd3b30a2c76f3843bd48bd68a1834866;hb=2912f5f6c2acb2da3b9fcc0f5afd1ca89782a9f8;hp=f4b00457b754474d14102057cae23bb450de33c8;hpb=ffdebb412afde6c9cd9f433c8537519135d648c2;p=sbcl.git diff --git a/src/compiler/srctran.lisp b/src/compiler/srctran.lisp index f4b0045..6b554db 100644 --- a/src/compiler/srctran.lisp +++ b/src/compiler/srctran.lisp @@ -3589,6 +3589,11 @@ ;;; code has been written from scratch following Chapter 7 of ;;; _Introduction to Algorithms_ by Corman, Rivest, and Shamir. (define-source-transform sb!impl::sort-vector (vector start end predicate key) + ;; Like CMU CL, we use HEAPSORT. However, other than that, this code + ;; isn't really related to the CMU CL code, since instead of trying + ;; to generalize the CMU CL code to allow START and END values, this + ;; code has been written from scratch following Chapter 7 of + ;; _Introduction to Algorithms_ by Corman, Rivest, and Shamir. `(macrolet ((%index (x) `(truly-the index ,x)) (%parent (i) `(ash ,i -1)) (%left (i) `(%index (ash ,i 1)))