Come ottenere un doppio letterale Python lungo? Ho provato conCome ottenere un doppio letterale Python lungo?
numpy.longdouble(1e309)
e
numpy.longdouble("1e309")
ma entrambi solo tornare inf
. Quale sarebbe il modo giusto per farlo?
[EDIT] Una risposta sotto dice che il doppio lungo è considerato doppio in alcune piattaforme. Non è il caso sul mio sistema. Per dimostrarlo, ho provato:
np.longdouble(2.0)**1029
sul mio sistema (Mac OS 10.11). Esso restituisce
5.7526180315594109047e+309
[EDIT2] Come suggerito, ho appena provato
np.finfo(np.longdouble)
che dà
finfo(resolution=1e-18,
min=-1.18973149536e+4932,
max=1.18973149536e+4932,
dtype=float128)
sul mio sistema operativo. Per informazioni, la mia versione numpy è 1.10.1.
Sembra che sia un po 'duplicato di questo thread: http://stackoverflow.com/questions/18536820/numpy-longdouble-arithmetic-does-not-seem-to-be-in-long-double-with-conversion –
Cosa La versione NumPy sei? Sembra che questo [potrebbe essere stato risolto] (https://github.com/numpy/numpy/issues/4381) il 28 agosto 2015, quindi l'ultima versione di NumPy dovrebbe avere la correzione. Non ho accesso a un'installazione 1.10 da verificare al momento. – user2357112
@ user2357112 versione numpy 1.10.1. – zell