From 63b5886337ff686a65b36e354904f29091d10290 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 27 Apr 2014 22:41:37 -0700 Subject: [PATCH] sorting.insertion: faster due to fewer nths. --- basis/sorting/insertion/insertion.factor | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/basis/sorting/insertion/insertion.factor b/basis/sorting/insertion/insertion.factor index 2145e46927..d6681be8cc 100644 --- a/basis/sorting/insertion/insertion.factor +++ b/basis/sorting/insertion/insertion.factor @@ -5,10 +5,11 @@ IN: sorting.insertion :: insert ( ... seq quot: ( ... elt -- ... elt' ) n -- ... ) n zero? [ - n n 1 - [ seq nth-unsafe quot call ] bi@ >= [ - n n 1 - seq exchange-unsafe + n n 1 - [ seq nth-unsafe ] bi@ + 2dup [ quot call ] bi@ >= [ 2drop ] [ + n 1 - n [ seq set-nth-unsafe ] bi-curry@ bi* seq quot n 1 - insert - ] unless + ] if ] unless ; inline recursive PRIVATE>