Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!tut.cis.ohio-state.edu!pt.cs.cmu.edu!wb1.cs.cmu.edu!ram From: ram@wb1.cs.cmu.edu (Rob MacLachlan) Newsgroups: comp.lang.lisp Subject: Re: Floating point in CL? Message-ID: <10621@pt.cs.cmu.edu> Date: 1 Oct 90 03:11:36 GMT References: <10607@pt.cs.cmu.edu> Organization: Carnegie-Mellon University, CS/RI Lines: 20 >From: jwz@lucid.com (Jamie Zawinski) >Rob writes: >> You should also make sure your non-float arithmetic is getting open-coded, >> i.e. all your DOTIMES variables should be declared FIXNUM. > >Since the result of changing the value of a dotimes counter is undefined, >isn't it reasonable for the expansion of dotimes to declare it fixnum if >it can tell that it will never reach the bignum range? > Yes, if it can tell. It should really be adequate for the repeat count to be known to be a fixnum, but in practice not all compilers can hack that. And unless the repeat count is obviously a fixnum (such as a constant), it may in any case be necessary to add some sort of declaration. Although in practice I am sure it is rare (unheard of) for a dotimes count to not be a fixnum, with today's machine speeds, it is not a totally nonsensical idea. Rob (ram@cs.cmu.edu)