Thread use bigint (10 answers)
Opened by rosti at 2019-10-21 17:20

haj
 2019-10-21 20:19
#190781 #190781
User since
2015-01-07
555 Artikel
BenutzerIn

user image
2019-10-21T17:50:43 Daxim
log(2) == 0

Beinuhe. log2 läuft außerhalb des Scope von bigint, da ist log(2) ein float. Ich bekomme mit Perl-Versionen >= 5.20 auch NaN und nicht inf. Wenn das Unterprogramm unter bigint läuft, dann erhalte ich inf im ersten und NaN im zweiten Fall (Aufrufer ohne bigint): Dann wird ein Float 2**256 durch ein bigint vom Wert log(2)=0 dividiert, und das gibt kein inf, weil schon die Operation an sich nicht zulässig ist.

In alten Perl-Versionen ist der Rückgabewert übrigens tatsächlich inf, aber ich habe zwischen 5.10 (wo das so ist) und 5.20 (wo NaN geliefert wird) gerade keine aktive Installation für eine genauere Eingrenzung. Vor 2007 war bigint nicht lexikalisch, d.h. no bigint gab es gar nicht.

View full thread use bigint