mathml

Xcas devel: interface utilisateur/user interface

Modérateur : xcasadmin

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

Re: mathml

Message par frederic han » lun. avr. 28, 2014 10:17 am

Salut,

j'ai un petit pb avec le mathml.

Code : Tout sélectionner

Digits:=12;
10.0**(-13)*i;
3+10.0**(-13)*i;
ont des problemes en mathml.

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

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

Re: mathml

Message par parisse » lun. avr. 28, 2014 12:08 pm

je te laisse juge! envoie-moi le mathml.cc, je l'integrerai dans la prochaine version du source la semaine prochaine (la je viens juste de mettre a jour le tar.bz2 depuis mon lieu de vacances et je ne pense pas y retoucher cette semaine).

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

Re: mathml

Message par frederic han » ven. sept. 19, 2014 8:16 am

Dans la conversion mathml les poly1 apparaissent comme des listes ordinaires.
le diff suivant ajoute un poly1 comme sous giac/xcas.

Code : Tout sélectionner

--- mathml.cc~	2014-05-06 12:29:20.000000000 +0200
+++ mathml.cc	2014-09-18 09:06:34.000000000 +0200
@@ -183,7 +183,10 @@
     if (type==_SEQ__VECT) s.append("(\" close=\")\">");
     else {
       if (type==_SET__VECT) s.append("{\" close=\"}\">");
-      else s.append("[\" close=\"]\">");
+      else{
+	if (type==_POLY1__VECT) s.append("poly1[\" close=\"]\">");
+        else s.append("[\" close=\"]\">");
+	}
     }
     s.append("<mrow>");
     vecteur::const_iterator it=v.begin(),itend=v.end();
macbookito(fred)$ 
Aussi, je ne sais pas comment traiter les rootof.
si on fait:

Code : Tout sélectionner

rootof(x^3+x+1):=j
en mathml c'est la version avec rootof qui est affichee, comment peut on attraper ce j?

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

Re: mathml

Message par parisse » ven. sept. 19, 2014 10:28 am

J'integre ton patch.
Pour rootof, il faut ajouter un cas particulier un peu comme pour at_pnt et appeler la methode print(contextptr) du gen, qui appellera printasrootof de alg_ext.cc qui se charge de remplacer les rootof qui ont un nom.

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

Re: mathml

Message par frederic han » sam. nov. 21, 2015 10:40 am

SAlut,
J'ai l'impression que giac 1.2.2 met un retour a la ligne dans les nombres de plus de 50 chiffres. Je ne sais pas si c'est standard ou pas de faire ca, mais le moteur mathml de Qt n'aime pas (qcas n'affiche rien du coup)

approx(pi,50)

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

Re: mathml

Message par parisse » sam. nov. 21, 2015 11:27 am

j'ai ajoute un decoupage quand ca depasse 50, mais on peut tres bien le reserver a emscripten.

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

Re: mathml

Message par frederic han » sam. nov. 21, 2015 12:55 pm

effectivement ca serait mieux pour qcas.

Répondre