Page 1 sur 1

Bug gen.cc rdiv ?

Publié : mar. juil. 22, 2014 9:24 pm
par jlaurens
Bonjour

dans rdiv, on a
gen rdiv(const gen &a,const gen &b,GIAC_CONTEXT){
[...]
return rdivsimp(a,b);
case _CPLX__CPLX:
adjust_complex_display(rdiv(a*conj(b,contextptr),b.squarenorm(contextptr),contextptr),a,b); <<<<<<<<<<<<<<<<
case _DOUBLE___CPLX: case _FLOAT___CPLX: case _INT___CPLX: case _ZINT__CPLX: case _REAL__CPLX:
if (is_one(a))
return inv(b,contextptr);
return rdiv(a*conj(b,contextptr),b.squarenorm(contextptr),contextptr);
[...]

La ligne marquée ne sert à rien car adjust_complex_display modifie son premier argument et le retourne.
Comme cet argument est un temporaire et on n'utilise pas le résultat...
et le case suivant est appliqué. Le résultat est le même sauf le display_complex...

Il manquerait un "return" ?

Il y a aussi (je ne sais plus où) une instruction "infinity"; au lieu de return "infinity";
On la voit avec l'option de compilation "unused results".

JL