]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/isequences/ops/sort/sort.factor
Fix Windows bootstrap
[factor.git] / unmaintained / isequences / ops / sort / sort.factor
1 ! Copyright (C) 2007 Robbert van Dalen.
2 ! See http://factorcode.org/license.txt for BSD license.
3
4 IN: isequences.ops.sort
5 USING: generic kernel math sequences isequences.interface isequences.base ;
6
7
8 : <_g++ ( n s -- s )
9     i-union ; inline
10
11 : <_g+- ( n s -- s ) -- <_ ; inline
12
13 : <_g-+ ( n s -- s ) swap -- swap <_ ; inline
14
15 : <_g-- ( n s -- s ) [ -- ] 2apply <_ ; inline
16
17 : <_g ( n s -- s )
18     2dup [ neg? ] 2apply [ [ <_g-- ] [ <_g+- ] if ]
19     [ [ <_g-+ ] [ <_g++ ] if ] if ; inline
20
21 M: object <_ <_g ;
22
23 : _<g++ ( n s -- s )
24     i-diff ; inline
25
26 : _<g+- ( n s -- s ) -- _< ; inline
27
28 : _<g-+ ( n s -- s ) swap -- swap _< ; inline
29
30 : _<g-- ( n s -- s ) [ -- ] 2apply _< ; inline
31
32 : _<g ( n s -- s )
33     2dup [ neg? ] 2apply [ [ _<g-- ] [ _<g+- ] if ]
34     [ [ _<g-+ ] [ _<g++ ] if ] if ; inline
35
36 M: object _< _<g ;