Page 1 sur 1

0.9.3 bouton stop

Publié : mar. août 23, 2011 11:21 pm
par frederic han
j'ai l'impression qu'en 0.9.3(paquet debian), le bouton stop de xcas est plus brutal qu'en 0.9.1.
par exemple il fait quitter xcas ainsi:

// Using locale /usr/share/locale/
// terminate called after throwing an instance of 'std::runtime_error'
what(): Stopped by user interruption.

par exemple lors de la factorisation d'un gros polynome, mais aussi ligne 31 du TP10
http://people.math.jussieu.fr/~han/agre ... 10-sol.xws

et vous?

fred

Re: 0.9.3 bouton stop

Publié : mer. août 24, 2011 9:36 pm
par alb
factor(x^k-a^k) plante pour certaines valeurs de k comme k=48
0>> factor(x^48-a^48
terminate called after throwing an instance of 'std::length_error'
what(): vector::reserve
Abandon

Re: 0.9.3 bouton stop

Publié : jeu. août 25, 2011 6:46 am
par frederic han
Pour moi aussi en 0.9.3debian (32 bits), mais j'ai une version 0.9.1 ou k=48 fonctionne.

Frederic

Re: 0.9.3 bouton stop

Publié : jeu. août 25, 2011 3:23 pm
par parisse
C'est peut-etre un bug de gcc, parce qu'a un moment dans gausspol.cc ligne 797, j'ai un r qui vaut 97205279270.000534, et ensuite le int(r) utilise apres vaut -2147483648 du coup le min essaie de reserver une valeur negative...
Je rajoute donc un test
if (my_isinf(r) || my_isnan(r) || r>1e9)
new_coord.reserve(itend-it);
juste en-dessous.
Apres factor(x^48-a^48) passe meme si c'est un peu long (c'est peut-etre le choix de strategie de factorisation qui est a revoir, car il essaie de resoudre un systeme pour trouver les facteurs a partir de la factorisation en 1 variable).