typo dans identificateur.cc ligne 288
Publié : lun. juil. 21, 2014 9:29 pm
// 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.
à 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.