From 39055423cea7eec8a5c9a88257fa66c77892bb89 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Fri, 17 Jul 2015 14:23:50 -0700 Subject: [PATCH] splitting.monotonic: a bit faster. --- basis/splitting/monotonic/monotonic.factor | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/basis/splitting/monotonic/monotonic.factor b/basis/splitting/monotonic/monotonic.factor index 024a7e32fa..e4c075e38e 100644 --- a/basis/splitting/monotonic/monotonic.factor +++ b/basis/splitting/monotonic/monotonic.factor @@ -7,19 +7,19 @@ IN: splitting.monotonic accum + V{ 0 } clone :> accum - 0 0 seq [ ] [ + 0 seq [ ] [ [ 1 + ] 2dip [ - quot call [ - [ seq slice-quot call accum push ] keep dup - ] unless + quot call [ dup accum push ] unless ] keep ] map-reduce drop - n = [ drop ] [ n seq slice-quot call accum push ] if + n = [ n accum push ] unless - accum { } like ; inline + accum dup rest-slice [ + seq slice-quot call + ] { } 2map-as ; inline : (monotonic-split) ( seq quot slice-quot -- pieces ) pick length [ 3drop { } ] [ ((monotonic-split)) ] if-zero ; inline