j'ai un petit pb avec le mathml.
Code : Tout sélectionner
Digits:=12;
10.0**(-13)*i;
3+10.0**(-13)*i;
Je propose ligne 1101 de permutter 2 tests et de modifier le cas partie im nulle.
Code : Tout sélectionner
case _CPLX:
if (!is_zero(re(e,contextptr)))
part_re="<mn>"+re(e,contextptr).print(contextptr)+"</mn>";
if (!is_zero(im(e,contextptr))){
if (is_positive(im(e,contextptr),contextptr)){
if (!is_zero(re(e,contextptr)))
part_re+="<mo>+</mo>";
}
else
part_re+="<mo>-</mo>";
}
if (!is_one(-im(e,contextptr)) && ! is_one(im(e,contextptr)))
part_im="<mn>"+abs(im(e,contextptr),contextptr).print(contextptr)+"</mn>"+part_im;
//the is_zero test should be the last one
//Ex: 3+10.0**(-13)*i avec Digits 12 et 10.0**(-13)*i avec Digits 12 et
if (is_zero(im(e,contextptr))){
part_im="";
if (is_zero(re(e,contextptr)))
part_re="<mn>0.0</mn>";
}
return part_re+part_im;
case _IDNT:
D'autre part, je ne trouve pas logique ligne 1092 de limiter l'affichage a 5 chiffres:
Code : Tout sélectionner
case _DOUBLE_:
/* FH: pas logique
if (fabs(e._DOUBLE_val)<1.1e-5)
return "<mn>0.0</mn>";
else
*/
return "<mn>"+e.print(contextptr)+"</mn>";
Fred