File tree Expand file tree Collapse file tree 4 files changed +14
-17
lines changed
Expand file tree Collapse file tree 4 files changed +14
-17
lines changed Original file line number Diff line number Diff line change @@ -7,16 +7,16 @@ IN: binary-search
77<PRIVATE
88
99:: (search) ( ... seq from to quot: ( ... elt -- ... <=> ) -- ... i elt )
10- from to + 2/ :> midpoint@
11- midpoint@ seq nth-unsafe :> midpoint
10+ from to + 2/ :> midpoint
11+ midpoint seq nth-unsafe :> elt
1212
1313 to from - 1 <= [
14- midpoint@ midpoint
14+ midpoint elt
1515 ] [
16- midpoint quot call {
17- { +lt+ [ seq from midpoint@ quot (search) ] }
18- { +gt+ [ seq midpoint@ to quot (search) ] }
19- { +eq+ [ midpoint@ midpoint ] }
16+ elt quot call {
17+ { +lt+ [ seq from midpoint quot (search) ] }
18+ { +gt+ [ seq midpoint to quot (search) ] }
19+ { +eq+ [ midpoint elt ] }
2020 } case
2121 ] if ; inline recursive
2222
Original file line number Diff line number Diff line change @@ -168,19 +168,16 @@ PRIVATE>
168168 ] each ;
169169
170170: lower-median-index ( seq -- n )
171- [ midpoint@ ]
172- [ length odd? [ 1 - ] unless ] bi ;
171+ [ midpoint ] [ length odd? [ 1 - ] unless ] bi ;
173172
174173: lower-median ( seq -- elt )
175174 [ ] [ lower-median-index ] bi kth-smallest ;
176175
177176: upper-median ( seq -- elt )
178- dup midpoint@ kth-smallest ;
177+ dup midpoint kth-smallest ;
179178
180179: medians ( seq -- lower upper )
181- [ ]
182- [ [ lower-median-index ] [ midpoint@ ] bi 2array ]
183- bi kth-smallests first2 ;
180+ dup [ lower-median-index ] [ midpoint ] bi 2array kth-smallests first2 ;
184181
185182: median ( seq -- x )
186183 dup length odd? [ lower-median ] [ medians + 2 / ] if ;
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ IN: tools.trace
99<PRIVATE
1010
1111: callstack-depth ( callstack -- n )
12- callstack>array midpoint@ ;
12+ callstack>array midpoint ;
1313
1414SYMBOL: end
1515
Original file line number Diff line number Diff line change @@ -906,11 +906,11 @@ PRIVATE>
906906 [ exchange-unsafe ]
907907 3tri ;
908908
909- : midpoint@ ( seq -- n ) length 2/ ; inline
909+ : midpoint ( seq -- n ) length 2/ ; inline
910910
911911: reverse! ( seq -- seq )
912912 [
913- [ midpoint@ ] [ length ] [ ] tri
913+ [ midpoint ] [ length ] [ ] tri
914914 [ [ over - 1 - ] dip exchange-unsafe ] 2curry
915915 each-integer
916916 ] keep ;
@@ -1006,7 +1006,7 @@ PRIVATE>
10061006 swap cut-slice [ swap suffix ] dip append ;
10071007
10081008: halves ( seq -- first-slice second-slice )
1009- dup midpoint@ cut-slice ; inline
1009+ dup midpoint cut-slice ; inline
10101010
10111011<PRIVATE
10121012
You can’t perform that action at this time.
0 commit comments