Quand tu calcule PI, tu ajoute dans une boucle les nombres d'une série. Donc dans ce cas il est plus facile de repérer l'arrondi de calcul sur les flottants:
Code :
- // ...
- nouveau_pi=ancien_pi+delta;
- ratio=ancien_pi/nouveau_pi;
- if(ratio>1-epsilon && ratio<1+epsilon)
- break;
- // ...
|
En constante tu peut mettre un epsilon petit et contrôler la précision, ou carrément:
Code :
- if(ancien_pi/nouveau_pi==1) break;
|
Pour la précision max.
Pour detecter un overflow sur un entier de type T, tu vérifie que le résultat est cohérent: par exemple si tu ajoute deux nombres positifs le résultat doit être plus grand que les deux nombres de départ.