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

Re: div0 and mod0

Thank you for the stories, Brad.

Bradley Lucier <lucier@xxxxxxxxxxxxxxx> wrote:
> Since you say so, I believe that the challenge, given your  
> constraints, is to avoid overflow, but I don't know why.

Because that reference implementation is intended to run
in R5RS-conforming implementations, and the R5RS doesn't
require exact integer arithmetic of unbounded precision,
and doesn't guarantee any behavior on which I could rely
had I allowed intermediate results to overflow.

> Your routine also assumes the availability of r5rs:*, but not,  
> presumably, r5rs:modulus; that fixnum-div0+mod0 was written before,  
> and not needing, fixnum*/2; and that you'd prefer to manipulate bit  
> fields (which I presume you're doing, since I presume that *half- 
> modulus*, etc., are powers of two) using fixnum-div0+mod0 instead of  
> using shifts and logical operations, etc.
> As these constraints seem to me very artificial, I do not find this  
> application of, or need for, fixnum-div0+mod0 compelling.

I didn't claim it was a "compelling" application.  You
had written that "div0 and mod0...are useful in no
algorithms of which I am aware."  My goal was to make
you aware of a use.

I also attempted to explain a rationale.  That attempt
did use the word "compelling".