[Perl] Division sobre cero

Salvador Ortiz Garcia sog@msg.com.mx
23 Sep 2002 15:03:46 -0500


On Mon, 2002-09-23 at 14:12, Gunnar Wolf wrote:
> > x/0 m=E1s que undef dever=EDa ser NaN, NaN ya es manejado correctamente=
 por
> > perl5 e incluso se podr=EDa, si el programador tiene interes, atrapar l=
a
> > excepci=F3n y convertir el error en NaN.
> >
> > Usar undef para ese caso, ser=EDa sobrecargarlo sin sentido, pues la
> > sem=E1ntica de undef est=E1 bien definida en operaciones num=E9ricas (v=
ale 0).
> >
> > Si alguien quiere usar NaN (y no por default, sino con una bandera que
> > 'auto-atienda' la excepci=F3n generada), no tengo incovenientes.
>=20
> Suena muy apto... Aunque entiendo que x/0 no es formalmente un NaN - *ES*
> un n=FAmero (vamos, es un valor num=E9rico), pero indefinido. =BFMe equiv=
oco?
>=20
> Seg=FAn estuve leyendo
> (http://www.perl.com/pub/a/2001/10/p6pdigest/20011013.html), NaN est=E1
> dise=F1ado para que en lenguajes con tipos fuertes puedas entender qu=E9
> tienes en una cosa que simplemente no es un n=FAmero. No s=E9 si un NaN f=
uera
> lo mejor.
>=20

Revis=E9 la referencia IEEE 754, y resulta que ese caso particular est=E1 y=
a
bien definido, en resultado es 'Inf', que tambien est=E1 ya soportado por
perl. As=ED que en mi rollo anterior dale un s/NaN/Inf/g;

Saludos.

Salvador Ortiz.