Disponibilit�: Unix.
Molti computer elaborano le operazioni con numeri in virgola mobile in conformit� con il cosiddetto standard IEEE-754. Su un qualsiasi computer, alcune operazioni in virgola mobile producono risultati che non possono venire espressi con normali valori in virgola mobile. Per esempio, provate:
>>> import math >>> math.exp(1000) inf >>> math.exp(1000) / math.exp(1000) nan
(L'esempio precedente funziona su molte piattaforme. La DEC Alpha pu� essere una eccezione). ``Inf'' � un valore speciale, non numerico, nello standard IEEE-754 che sta per ``infinito'' mentre ``nan'' significa ``non un numero'' (``not a number''). Notate che, aldil� del risultato non numerico, nulla di speciale accade quando chiedete a Python di procedere con questi calcoli. Questo infatti � il comportamento predefinito nello standard IEEE-754, e se a voi funziona, smettete pure di leggere questo paragrafo.
In alcune circostanze, sarebbe meglio sollevare un'eccezione ed interrompere il processo nel punto in cui si rileva l'operazione errata. Il modulo fpectl � da usare in queste situazioni. Fornisce il controllo sui numeri in virgola mobile per l'hardware di molte case produttrici, consentendo all'utente la possibilit� di abilitare la generazione di un SIGFPE ogni volta che dovrebbe venire sollevata una eccezione IEEE-754 come Division by Zero, Overflow, oppure Invalid Operation. Insieme ad un paio di macro wrapper, inserite nel codice C comprendente il sistema Python in uso, SIGFPE viene intercettata e convertita nell'eccezione Python FloatingPointError.
Il modulo fpectl definisce le seguenti funzioni e pu� sollevare l'eccezione data:
| ) |
| ) |