On 09/27/2013 05:34 PM, Richard Fateman wrote:
> It seems to me that the test (> (denominator l) 1) will always be true
when it is encountered.
> The case (= (denominator l) 1) means that l is an integer, and that is
peeled off in the previous line.
> The denominator of a common lisp rational number is always >= 0.
Yes, I thought of that. I originally had no test for integers,
so the denominator test was necessary. Then I added the test
for integers because I was concerned about performance. Then,
out of paranoia or lack of thorough knowledge of lisp
types, I did not remove the denominator test.
>
> On 9/27/2013 5:00 AM, John Lapeyre wrote:
> > Hi,
> >
> > It seems like there is a bit of support in maxima for
> > lisp ratios, although not much. Here is a patch that
> > allows ratios to work with bfloats in many instances.
> > I tried to arrange it to have a low impact on efficiency.
> > The patch passed the test suite.
> >
> > btw. In the original code, it looks like special constants are checked
> > before integers (I'm not certain). I did not change this, but maybe
> > it should be the other way around.
> I think the special constants should be checked after integers.
> I wrote this piece of code, probably in 1974 or so.
>
> >
> > --John
> >
> >
> >
> > _______________________________________________
> > Maxima mailing list
> > Maxima at math.utexas.edu
> > http://www.math.utexas.edu/mailman/listinfo/maxima
>