Während der Programmierung mit Gauche (0.9.4), als ich einen unendlichen Logarithmus durchführte, trat ein Fehler namens Assertion fehl und __Gauche selbst endete __.
gosh> (log +inf.0)
"libnum.scm", line 347 (libnum_25log): Assertion failed: SCM_BIGNUMP(x)
Um ehrlich zu sein, bin ich mir nicht sicher, ob dies eine Gauche-Spezifikation oder ein unerwarteter Fehler ist, aber es scheint, dass eine Assertion fehlschlägt, wenn Sie nach einem unendlichen Logarithmus fragen.
gosh> (log +inf.0)
"libnum.scm", line 347 (libnum_25log): Assertion failed: SCM_BIGNUMP(x)
gosh> (log -inf.0)
"libnum.scm", line 347 (libnum_25log): Assertion failed: SCM_BIGNUMP(x)
Übrigens, was passiert in Python (3.5.1) ...
>>> import math
>>> math.log(float('inf'))
inf
>>> math.log(-float('inf'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
Es scheint, dass nur negative Unendlichkeit einen Fehler ergibt. __ Python selbst endet jedoch nicht. __ Scheint als normale Ausnahme behandelt zu werden.
Wenn Sie für Python versuchen, $ log (0) $ zu finden, erhalten Sie übrigens eine Ausnahme. Auf der anderen Seite scheint Gauche es so zu interpretieren, dass es zur negativen Unendlichkeit abweicht.
>>> math.log(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
gosh> (log 0)
-inf.0
Null- und Unendlichkeitsbeziehungen sind verwirrend (´ ・ ω ・ `)
Recommended Posts