Robert-Reinder Nederhoed wrote:
c = 1 + 10**22
a = 10**22
b = (c**2 - a**2) ** 0.5
b
Hallo,
Ik val midden in de discussie, maar waarom herschrijf je je probleem niet
eerst naar
c = g + dc
a = g + da
da >= 0, dc >= 0, da == 0 of dc == 0
Splits a en c op naar gezamenlijk deel g en een zo klein mogelijk verschil.
Dan met middelbare school algebra:
c = g + dc
a = g + da
b = (c^2 - a^2) ^ 1/2
= ((g+dc)^2 - (g+da)^2) ^ 1/2
= (g^2 + 2*g*dc + dc^2 - g^2 - 2*g*da - da^2) ^ 1/2
= (2*g*(dc-da) + dc^2 - da^2) ^ 1/2
als da = 0, dan wordt dit zelfs
b = (2*g*dc - dc*dc) ^ 1/2
wat er imho heel wat vriendelijk uitziet.
In ieder geval ben je de g^2 factor kwijt, wat een aantal hoofdbrekens zou
moeten schelen.
Albert
_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl