1 ! Copyright (C) 2007 Robbert van Dalen.
2 ! See http://factorcode.org/license.txt for BSD license.
4 IN: isequences.ops.sort
5 USING: generic kernel math sequences isequences.interface isequences.base ;
11 : <_g+- ( n s -- s ) -- <_ ; inline
13 : <_g-+ ( n s -- s ) swap -- swap <_ ; inline
15 : <_g-- ( n s -- s ) [ -- ] 2apply <_ ; inline
18 2dup [ neg? ] 2apply [ [ <_g-- ] [ <_g+- ] if ]
19 [ [ <_g-+ ] [ <_g++ ] if ] if ; inline
26 : _<g+- ( n s -- s ) -- _< ; inline
28 : _<g-+ ( n s -- s ) swap -- swap _< ; inline
30 : _<g-- ( n s -- s ) [ -- ] 2apply _< ; inline
33 2dup [ neg? ] 2apply [ [ _<g-- ] [ _<g+- ] if ]
34 [ [ _<g-+ ] [ _<g++ ] if ] if ; inline