guile-devel
[Top][All Lists]
Advanced

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

Re: ash rewrite


From: Kevin Ryde
Subject: Re: ash rewrite
Date: Thu, 10 Feb 2005 09:16:29 +1100
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux)

Rob Browning <address@hidden> writes:
>
> Hmm I noticed that at least on my machine, make check fails with
> current CVS.

Thanks, I'll remove those.

> ERROR: fractions.test: fractions: (eqv? (ash 1/2 0) 1/2) - arguments: 
> ((wrong-type-arg "ash" "Wrong type argument in position ~A: ~S" (1 1/2) 
> (1/2)))
> ERROR: fractions.test: fractions: (eqv? (ash 1/2 1) 1) - arguments: 
> ((wrong-type-arg "ash" "Wrong type argument in position ~A: ~S" (1 1/2) 
> (1/2)))

ash had worked to left shift a fraction, because it was done with a
multiply.  It never right shifted a fraction.

My change unified that, by making neither left nor right work :-).

There'd be nothing wrong with having ash support fractions, or
inexacts for that matter.  But it seemed to me a bit of a slippery
slope.  You might start thinking other of the "Bitwise Operations"
functions should also work on those.  Like logbit? or logand.  They'd
have sensible definitions on fractions and inexacts, but it'd be a bit
like hard work implementing it.




reply via email to

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