Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Intermedio » Choque de trenes entre bignum (módulo) y función logaritmo Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2011-07-31 17:56 @788

Perlero Frecuente
Registrado: 2011-01-22 12:56 @580
Mensajes: 118
Choque de trenes entre bignum (módulo) y función logaritmo
Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. my $x = log(120);
  2. my $y = log(10000000000000000000000000000000);
  3. print "$x \n $y";

Syntax: [ Download ] [ Hide ]
Using bash Syntax Highlighting
  1. 4,7874917
  2. 71,380137

(logaritmos neperianos correctos, la vida es genial...)

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. use bignum; # <------ módulo maligno entrando en escena, a punto de estropearme el día
  2. my $x = log(120);
  3. my $y = log(10000000000000000000000000000000);
  4. print "$x \n $y";


Syntax: [ Download ] [ Hide ]
Using bash Syntax Highlighting
  1. NaN
  2. NaN
(ouch!)


El problema es que estoy cargando bignum porque necesitaré trabajar con números grandes, por ej. 2,487499029×10³⁶⁸⁶¹, pero entonces obtengo NaN a mansalva en vez del resultado de los logaritmos.

Veo en perlmonks que es un problema conocido e intermitente, hay gente a la que le funciona pero otra a la que no.

¿Alguien puede sugerir un reemplazo para la función logaritmo que funcione con este módulo o darle una paliza al módulo por mí pero que parezca un accidente?


Nota 2011-07-31 18:11 @799

Perlero Frecuente
Registrado: 2011-01-22 12:56 @580
Mensajes: 118
Re: Choque de trenes entre bignum (módulo) y función logaritmo
Bueno, me autorespondo

la solución es usar la función blog en lugar de log, necesita un chorro de recursos de CPU y memoria pero parece que al menos funciona

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. use Math::BigFloat;
  2.  
  3. $x = 100000000000000000000000000000000000000000000000000000000;
  4. $x = $x->blog();


Responder al tema  [ 2 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO