On Wed, Jul 8, 2009 at 5:30 PM, Nicolas Cellier
<nicolas.cellier.aka.nice@gmail.com> wrote:
I guess you gonna miss pretty soon those imperfect inexact Float of
the unreasonnable people.
Nicolas please read what I wrote:
If you're defining the default behavior of numbers in the system, the principle of "thou shall not commit premature optimization" should come into play. �If you're�that desperately in need of floating point speed, you're also probably capable of applying that and other optimization�techniques accordingly, as befits your problem. ��
The case of the core drawing engine is a special case. You would optimize this case specially, knowing full well that it is a critical system loop that affects the performance of everything else. �But turning around and saying that because this core loop requires optimization, that this optimization technique should be the default is a total non sequitur.��One�special�case�does�not�define�what�the�general�case�should�be.
When�making�a�fundamental�design�decision�as�to�what�a�sane�default�is,�you�need�to�look�at�what�the�non-expert�using�the�system�will�expect.��Saying�that�"you�should�know�IEEE�754�float�math"�isn't�helpful.��Skilled�professionals
make�mistakes�with�floating�point�math�every�day.��Telling�a�child�in�grammar�school�that�their�program�doesn't�work�because�they�don't�understand�IEEE�754�math�is�equally�absurd.
Design�decisions�should�not�be�driven�by�implementation�optimization�requirements.��Doing�so�only�places�the�incidental�preferences�of�the�system�implementors�over�the�needs�of�those�who�will�use�it. �