1 ! Copyright (C) 2009, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: assocs math.order sequences ;
4 IN: compiler.cfg.comparisons
9 cc< cc<= cc= cc> cc>= cc<> cc<>=
10 cc/< cc/<= cc/= cc/> cc/>= cc/<> cc/<>= ;
13 vcc-all vcc-notall vcc-any vcc-none ;
17 : negate-cc ( cc -- cc' )
37 : negate-vcc ( cc -- cc' )
39 { vcc-all vcc-notall }
42 { vcc-notall vcc-all }
45 : swap-cc ( cc -- cc' )
63 : order-cc ( cc -- cc' )
81 : evaluate-cc ( result cc -- ? )
84 { cc<= { +lt+ +eq+ } }
86 { cc>= { +eq+ +gt+ } }
88 { cc<> { +lt+ +gt+ } }
89 { cc<>= { +lt+ +eq+ +gt+ } }
90 { cc/< { +eq+ +gt+ +unordered+ } }
91 { cc/<= { +gt+ +unordered+ } }
92 { cc/= { +lt+ +gt+ +unordered+ } }
93 { cc/>= { +lt+ +unordered+ } }
94 { cc/> { +lt+ +eq+ +unordered+ } }
95 { cc/<> { +eq+ +unordered+ } }
96 { cc/<>= { +unordered+ } }