substaction of tables

Bugs

Modérateur : xcasadmin

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

substaction of tables

Message par frederic han » sam. sept. 16, 2017 1:10 pm

Salut,
j'ai remarqué cela avec giacpy, mais j'ai aussi ce problème en C++. Lorsque l'on fait une soustraction a -b
où a et b sont des tables, dans certains cas pour a (par exemple a= la table vide)
alors le - est perdu

Code : Tout sélectionner

#include <giac/giac.h>


using namespace std;
using namespace giac;

int main(){

giac::context ct;
gen c1("table()",&ct);
gen c2("table([[1]])",&ct); 
c1=eval(c1,1,&ct);
c2=eval(c2,1,&ct);
 
 cout  << "c1 : " << c1 << endl;
 cout  << "c2 : " << c2 << endl;
 cout  << "PB?: c1-c2 : " << c1-c2 << endl;
 cout  << "OK?: c1+(-c2) : " << c1+(-c2) << endl;

return 0;
}

donne

Code : Tout sélectionner

c1 : table(
)
c2 : table(
(0,0) = 1
)
PB?: c1-c2 : table(
(0,0) = 1
)
OK?: c1+(-c2) : table(
(0,0) = -1
)

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

Re: substaction of tables

Message par parisse » dim. sept. 17, 2017 11:33 am

En effet, il manque deux moins dans sparse.cc

Code : Tout sélectionner

diff sparse.cc sparse.cc~
100c100
<       c[jt->first]=-jt->second;
---
>       c[jt->first]=jt->second;
107c107
<       c[jt->first]=-jt->second;
---
>       c[jt->first]=jt->second;

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

Re: substaction of tables

Message par frederic han » dim. sept. 17, 2017 1:02 pm

Ouf!
Tant mieux si c'est juste ca car au debut je pensais que j'avais des problemes d'evalutation dans giacpy vu que je n'arrivais pas à le reproduire dans xcas/icas.

Ca résout effectivement le PB.
merci
Fred

Répondre