Double vs float on the iPhone

John Smith picture John Smith · Oct 26, 2009 · Viewed 12k times · Source

I have just heard that the iphone cannot do double natively thereby making them much slower that regular float.

Is this true? Evidence?

I am very interested in the issue because my program needs high precision calculations, and I will have to compromise on speed.

Answer

Stephen Canon picture Stephen Canon · Oct 26, 2009

The iPhone can do both single and double precision arithmetic in hardware. On the 1176 (original iPhone and iPhone3G), they operate at approximately the same speed, though you can fit more single-precision data in the caches. On the Cortex-A8 (iPhone3GS, iPhone4 and iPad), single-precision arithmetic is done on the NEON unit instead of VFP, and is substantially faster.

Make sure to turn off thumb mode in your compile settings for armv6 if you are doing intensive floating-point computation.