93 |
(push '((t t t) t #.(flags ans set)SUBLIS1-INLINE) |
(push '((t t t) t #.(flags ans set)SUBLIS1-INLINE) |
94 |
(get 'sublis1 'inline-always)) |
(get 'sublis1 'inline-always)) |
95 |
|
|
96 |
|
;;FIXME the MAX and MIN optimized arg evaluations aren't logically related to side effects |
97 |
|
;; but we need to save the intermediate results in any case to avoid exponential |
98 |
|
;; growth in nested expressions. set added to flags for now here and in analogous |
99 |
|
;; constructs involving ?. CM 20041129 |
100 |
|
|
101 |
;;SYMBOL-LENGTH |
;;SYMBOL-LENGTH |
102 |
(push '((t) fixnum #.(flags rfa) |
(push '((t) fixnum #.(flags rfa set) |
103 |
"@0;(type_of(#0)==t_symbol ? (#0)->s.st_fillp :not_a_variable((#0)))") |
"@0;(type_of(#0)==t_symbol ? (#0)->s.st_fillp :not_a_variable((#0)))") |
104 |
(get 'symbol-length 'inline-always)) |
(get 'symbol-length 'inline-always)) |
105 |
|
|
784 |
; (push '((fixnum fixnum) fixnum #.(flags rfa) |
; (push '((fixnum fixnum) fixnum #.(flags rfa) |
785 |
; "@01;(#0>=0&&(#1)>0?(#0)/(#1):ifloor(#0,#1))") |
; "@01;(#0>=0&&(#1)>0?(#0)/(#1):ifloor(#0,#1))") |
786 |
; (get 'floor 'inline-always)) |
; (get 'floor 'inline-always)) |
787 |
(push '((fixnum fixnum) fixnum #.(flags rfa) |
(push '((fixnum fixnum) fixnum #.(flags rfa set) |
788 |
"@01;({fixnum _t=(#0)/(#1);((#1)<0 && (#0)<=0) || ((#1)>0 && (#0)>=0) || ((#1)*_t == (#0)) ? _t : _t - 1;})") |
"@01;({fixnum _t=(#0)/(#1);((#1)<0 && (#0)<=0) || ((#1)>0 && (#0)>=0) || ((#1)*_t == (#0)) ? _t : _t - 1;})") |
789 |
(get 'floor 'inline-always)) |
(get 'floor 'inline-always)) |
790 |
|
|
905 |
(get 'make-list 'inline-always)) |
(get 'make-list 'inline-always)) |
906 |
|
|
907 |
;;MAX |
;;MAX |
908 |
(push '((t t) t #.(flags)"@01;(number_compare(#0,#1)>=0?(#0):#1)") |
(push '((t t) t #.(flags set)"@01;(number_compare(#0,#1)>=0?(#0):#1)") |
909 |
(get 'max 'inline-always)) |
(get 'max 'inline-always)) |
910 |
(push '((fixnum fixnum) fixnum #.(flags rfa)"@01;((#0)>=(#1)?(#0):#1)") |
(push '((fixnum fixnum) fixnum #.(flags rfa set)"@01;((#0)>=(#1)?(#0):#1)") |
911 |
(get 'max 'inline-always)) |
(get 'max 'inline-always)) |
912 |
|
|
913 |
;;MIN |
;;MIN |
914 |
(push '((t t) t #.(flags)"@01;(number_compare(#0,#1)<=0?(#0):#1)") |
(push '((t t) t #.(flags set)"@01;(number_compare(#0,#1)<=0?(#0):#1)") |
915 |
(get 'min 'inline-always)) |
(get 'min 'inline-always)) |
916 |
(push '((fixnum fixnum) fixnum #.(flags rfa)"@01;((#0)<=(#1)?(#0):#1)") |
(push '((fixnum fixnum) fixnum #.(flags rfa set)"@01;((#0)<=(#1)?(#0):#1)") |
917 |
(get 'min 'inline-always)) |
(get 'min 'inline-always)) |
918 |
|
|
919 |
;;MINUSP |
;;MINUSP |
925 |
;;MOD |
;;MOD |
926 |
; (push '((fixnum fixnum) fixnum #.(flags rfa)"@01;(#0>=0&&(#1)>0?(#0)%(#1):imod(#0,#1))") |
; (push '((fixnum fixnum) fixnum #.(flags rfa)"@01;(#0>=0&&(#1)>0?(#0)%(#1):imod(#0,#1))") |
927 |
; (get 'mod 'inline-always)) |
; (get 'mod 'inline-always)) |
928 |
(push '((fixnum fixnum) fixnum #.(flags rfa)"@01;({fixnum _t=(#0)%(#1);((#1)<0 && _t<=0) || ((#1)>0 && _t>=0) ? _t : _t + (#1);})") |
(push '((fixnum fixnum) fixnum #.(flags rfa set)"@01;({fixnum _t=(#0)%(#1);((#1)<0 && _t<=0) || ((#1)>0 && _t>=0) ? _t : _t + (#1);})") |
929 |
(get 'mod 'inline-always)) |
(get 'mod 'inline-always)) |
930 |
|
|
931 |
;;NCONC |
;;NCONC |