Wie gebe ich ein Gleitkomma-Unendlich-Literal in Python ein?
Ich habe gehört
inf = float('inf')
ist nicht tragbar. So habe ich mir folgendes empfehlen lassen:
inf = 1e400
Ist einer dieser Standards oder tragbar? Was ist die beste Vorgehensweise?
In Python 2.6 ist es portabel, wenn die CPU es unterstützt
Die float () -Funktion verwandelt nun den String nan in einen IEEE 754 Not A Number-Wert und + inf und -inf in eine positive oder negative Unendlichkeit. Dies funktioniert auf jeder Plattform mit IEEE 754-Semantik.
float('inf')
ist nicht portierbar wie in nicht portierbar zurück zu Python 2.5, wenn die String-Ausgabe zwischen Plattformen variiert. Ab 2.6 funktioniert float('inf')
garantiert auf IEEE-754-kompatiblen Plattformen (siehe http://www.python.org/dev/peps/pep-0754/ ).
(Und die Empfehlung scheint im Bereich 1e30000 zu liegen, nicht nur 1e400.)
Vielleicht könnten Sie so etwas tun
try:
inf = float('inf')
except: # check for a particular exception here?
inf = 1e30000