Overflow non détecté

Bugs

Modérateur : xcasadmin

PpHd
Messages : 6
Inscription : mer. juil. 11, 2007 7:56 pm

Overflow non détecté

Message par PpHd » ven. avr. 18, 2008 6:24 pm

En faisant les commandes suivantes sur un système 32 bits :

p:=(1+x^20056000+y^200003400+z^199011207+t^2040988405)^10;
c:=symb2poly(p,[x,y,z,t]);

J'obtiens des :
}+%%%{210,[0,0,0,-425980972]%%%}+%%%{210,[0,0,0,-638971458]%%%}+%%%{45,[0,0,0,-851961944]%%%}+%%%{1,[0,0,0,-1064952430]%%

ie des exposants négatifs.

C'est surement à cause d'overflow non détecté. Il serait mieux de renvoyer une erreur, je pense.

parisse
Messages : 5739
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Message par parisse » sam. avr. 19, 2008 1:22 pm

oui, les exposants sont stockes sur des entiers signés 32 bits, et pour l'instant il n'y a aucun code détectant les overflow. En pratique, il ne faut pas considérer ces expressions comme des polynomes, ca donnerait des calculs trop gros.

Répondre