Remove bogus inline forms for FLOOR and TRUNCATE
authorJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Mon, 8 Feb 2010 13:26:52 +0000 (14:26 +0100)
committerJuan Jose Garcia Ripoll <jjgarcia@jjgr-2.local>
Mon, 8 Feb 2010 13:26:52 +0000 (14:26 +0100)
src/cmp/sysfun.lsp
src/new-cmp/sysfun.lsp

index e669cad..fbc7cf3 100644 (file)
 (proclaim-function floor (real *) (values integer real) :no-side-effects t)
 (def-inline floor :always (t) (values &rest t) "ecl_floor1(#0)")
 (def-inline floor :always (t t) (values &rest t) "ecl_floor2(#0,#1)")
+#+(or) ; does not work well, no multiple values
 (def-inline floor :always (fixnum fixnum) :fixnum
  "@01;(#0>=0&&#1>0?(#0)/(#1):ecl_ifloor(#0,#1))")
 
 (proclaim-function truncate (real *) (values integer real) :no-side-effects t)
 (def-inline truncate :always (t) (values &rest t) "ecl_truncate1(#0)")
 (def-inline truncate :always (t t) (values &rest t) "ecl_truncate2(#0,#1)")
+#+(or) ; does not work well, no multiple values
 (def-inline truncate :always (fixnum-float) :fixnum "(cl_fixnum)(#0)")
 
 (proclaim-function round (real *) (values integer real) :no-side-effects t)
index 574c10e..ce78f39 100644 (file)
 
 (def-inline floor :always (t) (values &rest t) "ecl_floor1(#0)")
 (def-inline floor :always (t t) (values &rest t) "ecl_floor2(#0,#1)")
+#+(or) ; does not work well, no multiple values
 (def-inline floor :always (fixnum fixnum) :fixnum
  "@01;(#0>=0&&#1>0?(#0)/(#1):ecl_ifloor(#0,#1))")
 
 
 (def-inline truncate :always (t) (values &rest t) "ecl_truncate1(#0)")
 (def-inline truncate :always (t t) (values &rest t) "ecl_truncate2(#0,#1)")
+#+(or) ; does not work well, no multiple values
 (def-inline truncate :always (fixnum-float) :fixnum "(cl_fixnum)(#0)")
 
 (def-inline round :always (t) (values &rest t) "ecl_round1(#0)")