_size and seq[] with 1.5.85 and later

Bugs

Modérateur : xcasadmin

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

_size and seq[] with 1.5.85 and later

Message par frederic han » jeu. août 13, 2020 10:41 am

Salut Bernard,
j'ai un probleme avec NULL ou seq[] et _size qui n'apparait pas dans giac-1.5.0.63
le petit programme suivant

Code : Tout sélectionner

// -*- compile-command: "g++ -g size-giac-1.5.0.87.cc -lgiac -lgmp" -*-
#include <giac/config.h>
#include <giac/giac.h>

using namespace std;
using namespace giac;

int main(){

  string s("seq[]");
  giac::context ct;
  gen c1(s,&ct);
  c1=eval(c1,1,&ct);
 cout << _size(c1,&ct) <<endl;
 cout << c1[0] <<endl;
//it gives with giac 1.5.0.87
//["atom","cplx","idnt","frac","vector","symb","strng","other","total"],[0,0,0,0,1,0,0,0,80]]
// but  with giac 1.5.0.63 and earlier it gives 0 as expected
return 0;
}
_size de seq[] ne retourne plus 0 avec giac 1.5.0.87 ni 1.6.0.7 mais il retourne curieusement:

Code : Tout sélectionner

[["atom","cplx","idnt","frac","vector","symb","strng","other","total"],[0,0,0,0,1,0,0,0,80]]

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

Re: _size and seq[] with 1.5.85 and later

Message par parisse » jeu. août 13, 2020 2:59 pm

J'ai modifie _size pour pouvoir avoir en ligne de commande une estimation de la taille memoire utilisee par l'ensemble des objets giac crees (par types), c'est principalement pour les ports sur calculatrices ou il y a tres peu de memoire. Apres si ca gene on peut le mettre dans un #ifdef.

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

Re: _size and seq[] with 1.5.85 and later

Message par frederic han » ven. août 14, 2020 10:03 am

Ben oui meme dans icas ca donne des choses bizarres.

Code : Tout sélectionner

1>> len(seq[])
[["atom","cplx","idnt","frac","vector","symb","strng","other","total"],[0,0,0,0,1,0,0,0,80]]
13>> L:=2,3,4
2,3,4
15>> len(L[2:2])
[["atom","cplx","idnt","frac","vector","symb","strng","other","total"],[3,0,0,0,2,0,0,0,160]]

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

Re: _size and seq[] with 1.5.85 and later

Message par parisse » sam. août 15, 2020 6:24 am

Ca me parait normal, il y a une liste en plus avec 3 entiers d'ou le resultat de la 2eme commande.

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

Re: _size and seq[] with 1.5.85 and later

Message par frederic han » sam. août 15, 2020 9:11 am

oui la ligne 13 est normale on a une liste avec 3 entiers, et l'on peut obtenir la liste vide par diverserses opérations telle que ce slice L[2:2] et ca n'est pas normal qu'elle n'ait pas longeur 0.

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

Re: _size and seq[] with 1.5.85 and later

Message par parisse » ven. août 21, 2020 6:38 am

Je modifie le source pour que _size n'ait plus ce comportement.

Répondre