Foghorn Leghorn wrote:
> > The Playstation doesn't do floating point. It would be a very slow
> > platform for running GIMPS. :)
>
> Question: does Prime95 use floating point because the algorithm requires
> it, or because something about the Intel architecture makes it a good
> choice?
The algorithm doesn't require it but on most processors it is quickest to do
a floating point discrete weighted transform.
That said I've written (with quite a bit of help from Peter LM) a DWT for
StrongARM which is runs without use of floating point (StrongARM doesn't have
an FPU).
The individual computations are a bit more expensive because of the need to
work modulo a 64 bit prime so this makes the StrongARM routine about 1/3 of
the speed of an equivalently clocked Pentium.
An Integer DWT has a few advantages though, namely because it doesn't have
round off errors it can pack a few more bits in and use slightly smaller FFT
sizes.
> I'm not clear about how Prime95 is able to use floating point to perform
> something that is theoretically an all-integer computation.
Clever isn't it! Every iteration prime95 checks each floating point number
to see if it is an integer +/- < 0.4. If it is outside this range then it
calls an error.
> Is there any platform on which an all-integer implementation would be
> superior to one that uses floating point?
Any processor without an FPU. Like StrongARM or Sony Playstation...
Assuming that MIPS codes equivalently to ARM then a 33 MHz MIPS (in the
Playstation) is going to come out at a 10 Mhz Pentium equivalent for GIMPs
use. That probably isn't going to be worth your while unfortunately.
--
Nick Craig-Wood
[EMAIL PROTECTED]
http://www.axis.demon.co.uk/