Pseudo valor inf

Marcos Sánchez Provencio rapto en arrakis.es
Dom Mar 21 19:52:43 CET 2004


Marcos Sánchez Provencio escribió:

> Antonio Castro escribió:
>
>> Llevo solo un par de meses con python y he visto que por defecto
>> existe una gestión muy extraña de ciertos desbordamientos con
>> valores reales.
>>
>> Evidentemente dejar que el interprete de python
>> pase un dato real a un pseudo valor infinito de forma
>> automática, transparente y sin mensaje de error alguno
>> a mi no me parece una gran idea.
>>
>>     x=9.9e999
>>     if 5.5 + x == x:
>>         print 'OK: 5.5 + x == x'
>>         print 'x=', x
>>
>> ¿ Supongo que este error se puede gestionar de alguna
>> manera no ?
>>
>>  
>>
> Este problema viene explicado en
> http://cielito.sindominio.net/~rapto/python/tut/node14.html
>
> ¿Te has encontrado el problema de verdad? Existe un módulo FixedPoint 
> para estas cosas.
> http://fixedpoint.sourceforge.net/
>
Bueno, no es del todo adecuado (lo del salto al hiperespa^W infinito no 
tiene que ver con el redondeo de coma flotante), pero esto va

 >>> import fixedpoint as fp
 >>> a=fp.FixedPoint('3e999')
 >>> a+0.5==a
False
 >>> a+0.5
FixedPoint('3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.50', 
2)




Más información sobre la lista de distribución Python-es