Page 1 sur 1

sortie brutale

Publié : sam. avr. 28, 2012 8:54 am
par frederic han
Bonjour,

j'ai une petite sortie brutale lors d'un simplify lorsque je fais l'erreur suivante:

Z:=-a024*t2*t3-a124*t2*t3*v-a124*t2*t3+a134*t2*t3*v+a234*t2*t3-t0*t3*u+t1*t2*v-t2*t3*v+v;
t0:=[1/(a024*t2+a124*t2*u+a124*t2-a134*t2*u-a234*t2+t2*u)*(a124*t2^2*u-a124*t2^2*v-u+v)]; //ici je n'aurai pas du mettre de crochets, mais par exemple c'est une erreur frequente avec solve.
t2:=1/sqrt(a124);
alors

simplify(Z);

quitte xcas avec:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc

Fred

Re: sortie brutale

Publié : sam. avr. 28, 2012 9:34 am
par parisse
bon, il va sans doute falloir que je modifie protecteval pour "catcher" aussi les bad_alloc (je croyais que les runtime_error suffisaient). Pour celui-la, on peut ajouter dans gen.cc, ligne 7929

Code : Tout sélectionner

diff gen.cc gen.cc~
7929,7930d7928
<       if (np.dim && dp.dim && np.dim!=dp.dim)
<       return gensizeerr("simplify: Polynomials do not have the same dimension");