// const gen & x__IDNT_e = * (gen *) & alias_xx38;
à remplacer par
// const gen & xx__IDNT_e = * (gen *) & alias_xx38;
Au passage à quoi sert ce GIAC_HAS_STO_38 ?
Pour éviter les répétitions, les erreurs et pour rendre le code plus lisible, on peut se servir de macros.
Les 26 répétitions des lignes 508 et suivantes étant
identificateur a__IDNT("a");
gen a__IDNT_e(a__IDNT);
[...]
identificateur z__IDNT("z");
gen z__IDNT_e(z__IDNT);
on peut les remplacer par
#define GIAC_STRINGIFY(_X) GIAC_STRINGIFY_(_X)
#define GIAC_STRINGIFY_(_X) #_X
#define GIAC_DO(__X)\
identificateur __X##__IDNT(GIAC_STRINGIFY(__X));\
gen __X##__IDNT_e(__X##__IDNT)
GIAC_DO(a);
[...]
GIAC_DO(z);
#undef GIAC_DO
Idem pour les autres cas.
La macro STRINGIFY est un classique.
typo dans identificateur.cc ligne 288
Modérateur : xcasadmin
Re: typo dans identificateur.cc ligne 288
bon, pas grave, puisque c'est du code commente.
GIAC_HAS_STO_38 sert a compiler avec une certaine compatibilite avec les HP38/39/40 (noms de variables en 1 lettre preaffectes par exemple).
Pour la macro, je retiens pour un usage ulterieur eventuel, mais je prefere ne pas modifier du code qui marche par une macro que je ne maitrise pas.
GIAC_HAS_STO_38 sert a compiler avec une certaine compatibilite avec les HP38/39/40 (noms de variables en 1 lettre preaffectes par exemple).
Pour la macro, je retiens pour un usage ulterieur eventuel, mais je prefere ne pas modifier du code qui marche par une macro que je ne maitrise pas.