guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ratio implementation


From: Bill Schottstaedt
Subject: Re: ratio implementation
Date: Mon, 13 Oct 2003 03:58:05 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225

I made the requested changes (using the Oct-9 CVS Guile):

   ftp://ccrma-ftp.stanford.edu/pub/Lisp/gratio-1.tar.gz

I haven't yet translated the test suite to Guile's form.


I notice that Guile doesn't support "exact complex", but
it appears that some other Schemes do -- is this a desired
extension?

guile> (exact? 2/3+i)
#f



Under scm_ash, the doc string:

            "Formally, the function returns an integer equivalent to\n"
            "@code{(inexact->exact (floor (* @var{n} (expt 2 @var{cnt}))))}.\n"

is incorrect:

guile> (ash .1 2)
0.4

but ash is not handling negative shifts correctly:

guile> (ash .1 -2)

Backtrace:
In standard input:
   4: 0* [ash 0.1 -2]

standard input:4:1: In procedure quotient in expression (ash 0.1 -2):
standard input:4:1: Wrong type argument in position 1: 0.1
ABORT: (wrong-type-arg)

The scm_quotient function assumes its arguments are ints/bignums,
so it can't be used directly in ash.


Also: (sqrt 9/49) -> 3/7?  Seems like it should parallel:
guile> (expt 2 -2)
1/4





reply via email to

[Prev in Thread] Current Thread [Next in Thread]