0.9.3 bouton stop

Utilisation de Xcas

Modérateur : xcasadmin

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

0.9.3 bouton stop

Message par frederic han » mar. août 23, 2011 11:21 pm

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

alb
Messages : 1331
Inscription : ven. août 28, 2009 3:34 pm

Re: 0.9.3 bouton stop

Message par alb » mer. août 24, 2011 9:36 pm

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

frederic han
Messages : 1139
Inscription : dim. mai 20, 2007 7:09 am
Localisation : Paris
Contact :

Re: 0.9.3 bouton stop

Message par frederic han » jeu. août 25, 2011 6:46 am

Pour moi aussi en 0.9.3debian (32 bits), mais j'ai une version 0.9.1 ou k=48 fonctionne.

Frederic

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

Re: 0.9.3 bouton stop

Message par parisse » jeu. août 25, 2011 3:23 pm

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).

Répondre