Cześć,zmiennoprzecinkowa precyzja w Visual C++
Próbuję użyć robust predicates dla geometrii obliczeniowej od Jonathan Richard Shewchuk.
Nie jestem programistą, więc nie jestem nawet pewien tego, co mówię, być może popełniłem jakiś podstawowy błąd.
Chodzi o to, że predykaty powinny umożliwiać precyzyjną arytmetyczność z adaptacyjną precyzją zmiennoprzecinkową. Na moim komputerze: Asus pro31/S (Core Due Centrino Processor) nie działają. Problem może polegać na tym, że mój komputer może wykorzystać pewne ulepszenia w precyzji zmiennoprzecinkowej, które są sprzeczne z tym, którego użył Shewchuk. Autorka mówi:
/* 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. */
co teraz chciałbym wiedzieć, jest to, że istnieje sposób, być może niektóre opcja kompilatora, aby wyłączyć rejestry zmiennoprzecinkowe wewnętrzny rozszerzony precyzji.
Naprawdę appriaciate twoja pomoc
chcesz pracować z kompilacją x64 – Gabriel
Bądź ostrzeżony Wywołanie _control87 w kompilacjach x64 może rzucić wyjątek. Program: ... Plik: amd64 \ ieee.c Linia: 109 Wyrażenie: (maska i ~ (_MCW_DN | _MCW_EM | _MCW_RC)) == 0 – Damian