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/

Reply via email to