HI,précision en virgule flottante dans Visual C++
Je tente d'utiliser la robust predicates pour la géométrie computationnelle de Jonathan Richard Shewchuk.
Je ne suis pas un programmeur, donc je ne suis même pas sûr de ce que je dis, je peux faire une erreur de base. Le point est que les prédicats devraient permettre une précision arithmétique avec une précision en virgule flottante adaptative. Sur mon ordinateur: Asus pro31/S (Core Due Centrino Processor), ils ne fonctionnent pas. Le problème peut rester dans le fait que mon ordinateur peut utiliser des améliorations dans la précision en virgule flottante en conflit avec celle utilisée par Shewchuk. L'auteur dit:
/* On some machines, the exact arithmetic routines might be defeated by the */
/* use of internal extended precision floating-point registers. Sometimes */
/* this problem can be fixed by defining certain values to be volatile, */
/* thus forcing them to be stored to memory and rounded off. This isn't */
/* a great solution, though, as it slows the arithmetic down. */
Maintenant, ce que je voudrais savoir est qu'il ya un moyen, peut-être une option de compilateur, pour désactiver la précision étendue interne des registres à virgule flottante.
Je vraiment appriaciate votre aide
Vous voulez travailler avec des builds x64 – Gabriel
Soyez averti L'appel de _control87 dans les builds x64 peut générer une exception. Programme: ... Fichier: amd64 \ ieee.c Ligne: 109 Expression: (mask & ~ (_MCW_DN | _MCW_EM | _MCW_RC)) == 0 – Damian