18Fermer20
Lionel DebrouxLe 28/12/2008 à 12:17
imaxabs (celui-là existe certainement dans la libgcc, c'est la routine qui donne la valeur absolue d'un long long)
Le abs de TIGCC fonctionne sur n'importe quel type numérique (entier ou flottant). C'est très simple à définir comme macro.

Bien sûr. Là, je parlais de l'existence de la routine qui implémente la fonctionnalité, pas de la définition de imaxabs dans le header.
Mais comme printf & scanf ne connaissent pas les types 64 bits, on a remis à plus tard (éventuellement jamais) un support des (u?)intmax_t.



J'ai bien compris que ce n'était pas prévu d'écrire un stdint.h. MAIS tu écris toi-même que cette idée, ce souhait flottait déjà quelque part chez toi:
Je ne l'avais pas fait moi-même parce que je comptais une quantité de travail immense.

Je ne sais pas s'il était uniquement dans ta tête ou si tu l'avais écrit dans un fichier sur tes machines, mais (à ma connaissance) ce souhait n'était pas diffusé sur un outil adapté à la gestion de todo/wish lists (Bugzilla, Forge, Trac, etc.).


Ca n'a en effet pas pris beaucoup de temps, à Conrad comme à moi, de faire un générateur de .hsf pour stdint.h et inttypes.h (qui sont des headers un peu particuliers par leur redondance). J'ai donné le chiffre d'environ 200 SLOC (Perl, ça serait similaire avec Python ou Ruby) pour stdint.h + inttypes.h.
C'est clair qu'il ne faut pas tout faire en langages de script (diverses distros GNU/Linux modernes, avec par exemple de lents gestionnaires de package et de dépendances écrits en Python, ont malheureusement oublié cela...), mais il est très dommage de ne pas utiliser le sucre syntaxique et les builtins de manipulation de données fournis par PPPR pour faire des programmes de manipulation de données qui vont jusqu'à quelques milliers de lignes.