I've been doing operations that require me to rationalize floats, and I've found that (rationalize 2.3d0)gives very different output in ABCL compared SBCL and CCL. Floats can have any number of valid rational conversions but I'd expect a good algorithm for this conversion to find 23/10 rather than the huge numerators and denominators that get produced. It appears that the (rationalize) in ABCL is using the same algorithm as (rational) does in other CLs. Does (rationalize) just pass through to (rational) in ABCL? Would it make sense for ABCL to adopt the implementation of this function used by other CLs? Thanks.
Andrew
armedbear-devel@common-lisp.net