| |
 | Posted by Timon Gehr in reply to Nicholas Wilson | Permalink Reply |
|
Timon Gehr 
Posted in reply to Nicholas Wilson
| On 19.09.22 01:51, Nicholas Wilson wrote:
> On Sunday, 18 September 2022 at 23:18:06 UTC, Timon Gehr wrote:
>> For my project the problem was specifically precision. I needed each pixel to have different coordinates even on really high zoom levels into the fractal. One nice thing about double-double was that if I centered the image directly on a number that is representable as a double, the maximum possible zoom level was increased massively. :)
>
> Right and that is well beyond the capability of x86-fp80, which was my original point.
> I think it makes sense to support real for PPC DoubleDouble, or IEEE quad. I don't think it does for x86-fp80.
Well, I used adaptive precision, float/double/extended/double-double, whatever was needed for the current zoom level. Performance degraded at every step, while precision increased. There was a clear sweet spot where extended precision was the best option.
Of course, as I said, nowadays with AVX and beyond, as well as powerful GPUs, maybe the trade-offs would indeed be a bit different. The support for fp80 is really nice even just for legacy reasons though, it allows porting code that uses the x87 and get consistent results, and it allows easy benchmarking to show that some other solution actually beats it on the given hardware. Most backends have to support it anyway for C long double on e.g. linux.
|