parisse wrote:
- Code: Select all
...
#if 1 // def GIAC
char buf[1024]="regroup(";
strcpy(&buf[8],c);
buf[strlen(buf)]=')';
buf[strlen(buf)]=0;
const char * out=caseval(buf);
strcpy(m_inputText,c);
strcpy(m_exactOutputText,out);
strcpy(buf,"evalf(");
strcpy(&buf[6],out);
buf[strlen(out)+6]=')';
buf[strlen(out)+7]=0;
out=caseval(buf);
strcpy(m_approximateOutputText,out);
#else
...
Rien à avoir avec le problème de faire accepter les commandes xcas, mais on peut améliorer la lisibilité et maintenabilité (pas besoin de calculer et indiquer des offsets) en mettant ceci :
- Code: Select all
...
#if 1 // def GIAC
char buf[1024];
sprintf(buf, "regroup(%s)", c);
const char * out = caseval(buf);
strcpy(m_inputText, c);
strcpy(m_exactOutputText, out);
sprintf(buf, "evalf(%s)", out);
out = caseval(buf);
strcpy(m_approximateOutputText, out);
#else
...