• [^] # Re: Ahem

    Posté par (site web personnel) . En réponse au lien Comment j'ai rejoint la communauté du bug 323 [quand le bug vient du processeur]. Évalué à 1. Dernière modification le 21 août 2025 à 08:55.

    La comparaison à un epsilon aurait simplement reporté son problème à un autre cas. En effet il pourrait tout simplement tomber sur un cas où les deux float à comparer sont à epsilon près et qu'une approximation fpu->proc. fasse basculer le test là encore.

    C'est son algo. à la base qui est foireux : déjà utiliser un Set comme une structure totalement ordonnée c'est mathématiquement du grand n'importe quoi. Utiliser une fonction non injective pour construire la relation d'ordre est encore plus aberrant dans son cas. Mais la dernière fois que j'ai dit que les informaticiens faisaient n'importe quoi avec les maths je me suis fait moinser à mort :'(

    Un moyen simple aurait été de sélectionner tous les points qui ont la déviation minimale en 1 seule passe. Le résultat diffère toujours d'une machine à l'autre, mais si ça plante toujours alors c'est son algo qui est pas bon. En effet en analyse numérique on admet une tolérance sur les calculs flottants et on apprend à être robuste là-dessus.

    Oh, et déterministe ça ne veut pas dire « j'obtiens le même résultat partout tout le temps », ça veut dire : à conditions identiques j'obtiens le même résultat. Les conditions impliquent aussi la machine et le compilateur... Là il dit bien, que le comportement est parfaitement déterministe : en 32 bits ça plante tout le temps ! La encore en analyse numérique j'avais des résultats différents d'une machine à l'autre, par contre ils se devaient d'être consistant (c'est-à-dire conforme à un epsilon calculé près).