90

1. Et ? Une fois que tu as préprocessé via une macro intermédiaire, tu passes tes trucs à une fonction inline, ça ne pose pas de pb...
5. Donc ça sert à rien...
6. #define set(x,n) (assert(x),x.tab[n]) -- et tu évalues ton truc 2 fois...
8,9,11,12,27. Bah ça sert à rien de faire des extensions propriétaires ©
10. Bah évidemment qu'on fait confiance au compilo, sinon c le compilo qui est buggé, c pas un défaut du langage... (et de toute façon tu es obligé de lui faire confiance pour plein d'autres choses : s'il fait de la propagation de constantes fausse, ben c DTC) Et sinon je veux bien croire que ça peut être un peu pénible de convertir ^^
14. La méthode utilisée en C++ qui fait qu'on n'a plus besoin de printf n'est pas limitée à printf non plus roll Et ça permet d'avoir un typage sûr, entre autres avantages...
16. Bien sûr que si !
17. Ah euh pour les tableaux non... En tout cas pour les structures oui.
18. boost no pawa ^^
20. __align__ ? __stkparm__ ? etc... Bon, OK pour noreturn, mais franchement on s'en passe très très bien... Au pire tu fais une macro qui fait (myfunc(params),exit(42))
21. 95% ne sert à rien en C++ tongue
23,24,25. Bah dans ce cas-là c pas une extension de langage tongue
28. Bah non, c complètement spécifique à la plateforme, ça n'a aucun sens dans la perspective du std C neutral
29. Doit y avoir ça aussi dans VC++...
31. Mouais, donc là c spécifique à l'environnement...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

91

Flanker :
10. Flottants hexadécimaux
c'est carrément utile ! Sinon, tu es obligé de faire confiance au compilo pour transformere tes constantes flottantes en hexa, et je crois qu'il faut les donner avec beaucoup de chiffres pour être sûr que la transformation est correcte

En revanche, avec TIGCC, ce sont les flottants hexadécimaux qui ne sont pas fiables du tout, vu que nos flottants sont en BCD.

Pollux> LOL, les extensions C99 comme long long ou les complexes natifs sont "propriétaires" maintenant??? Et s'il parle des features C99, c'est parce que ce sont aussi des features que le C++ n'a pas.

Et pour le for_each, tu récupères les sources de ld-tigcc et tu inclus lists.h (licence GPL). tongue
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

92

10. Bah évidemment qu'on fait confiance au compilo, sinon c le compilo qui est buggé, c pas un défaut du langage... (et de toute façon tu es obligé de lui faire confiance pour plein d'autres choses : s'il fait de la propagation de constantes fausse, ben c DTC) Et sinon je veux bien croire que ça peut être un peu pénible de convertir ^^
je voulais juste dire que c'est pas évident de savoir combien de décimales il faut mettre au minimum pour être sûr du résultat. Et avoir 3 lignes de décimales, c'est pas forcément joli
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

93

Ce que je veux dire, c'est que sous TIGCC, en utilisant les flottants hexa, tu provoques exactement les problèmes d'arrondis que tu veux éviter!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

94

je répondais à Pollux
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

95

Kevin> Non mais je dis pas le contraire, si tu lisais *un peu* les posts tu aurais lu que le C++ pourrait bénéficier des features du C99, mais par contre je dis que les extensions GNU (qui sont vraiment des extensions, i.e. non présentes en C99) sont pour la plupart inutiles...

Flanker :
je voulais juste dire que c'est pas évident de savoir combien de décimales il faut mettre au minimum pour être sûr du résultat. Et avoir 3 lignes de décimales, c'est pas forcément joli

Au pire,
#define hexfloat(i,f,p) ((double)0x##f/(1l<<(sizeof(#f)-1))*i##.0*(1l<<exp))
devrait faire ce que tu veux ^^ (hexfloat(42,42cafe,12) = 0x42.42cafeP12)

Et en plus je crois que c aussi du C99, donc franchement, les extensions GNU en C++, ça sert à rien ^^ (reste à peu près plus que les points 7 et 30)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

96

./90:

1. #define foo(t,x) ({t _y =(x); ...; y}) ?
5. Je pense pas que les auteurs de gdb pensent que ca sert a rien.
6. Oui. Et ? C'est grave ? C'est interdit ?
8,9,11,12,27: ca reste des extensions en mode C89 tongue
10. C'est pas une question de confiance!!!! C'est une question d'arrondi! Et je crois m'y connaitre un peu plus que toi dans ce domaine.
14. Les macros ne sont pas des fonctions. M'enfin bon disons ok.
20. noinline, always_inline, pure, const, nothrow, format, nonnul, section, constructor, destructor, unused, used, deprecated, warn_unused_result, visibility, regparm, stdcall, dllimport, dllexprt, aligned, cleanup, packed, transparent_union, vector_size ne servent a rien ?
21. Deja tu as toutes les fonctions standards du C en builtin ce qui est tres avantageux question portabilite. __builtin_types_compatible_p, __builtin_choose_expr, __builtin_constant_p, __builtin_expect, __builtin_prefetch, __builtin_ffs, __builtin_clz, __builtin_ctz, __builtin_popcount, __builtin_parity ne servent a rien ? Et les instructions specialisees du P4 en builtin ?
23,24,25: ca reste une extension du langage.
28. Pas vraiment. En tout cas ca marche partout hehe
29. M'etonnerais sinon j'aurais pas vu du code asm pour utiliser les instructions SS2E sous Visual grin
31. Les thread ne sont pas dans la norme C. Et je peux te jurer que cette extension est utile pour rendre une bib thread-safe.

97

>En revanche, avec TIGCC, ce sont les flottants hexadécimaux qui ne sont pas fiables du tout, vu que nos flottants sont en BCD.
>Ce que je veux dire, c'est que sous TIGCC, en utilisant les flottants hexa, tu provoques exactement les problèmes d'arrondis que tu veux éviter!
Ca respecte pas le standard IEEE-754 donc aucun interet d'utiliser les floats sous Tigcc.


>Au pire,
>#define hexfloat(i,f,p) ((double)0x##f/(1l<<(sizeof(#f)-1))*i##.0*(1l<<exp))
>devrait faire ce que tu veux ^^ (hexfloat(42,42cafe,12) = 0x42.42cafeP12)
hexfloat(1,0,1000) marche mal tu sais hehe

>les extensions GNU en C++, ça sert à rien
De toute facon le C++ sert a rien alors. zzz

98

PpHd
: Ca respecte pas le standard IEEE-754 donc aucun interet d'utiliser les floats sous Tigcc.

Pfff... Perso, je n'ai rien à foutre du standard IEEE-754, et je trouve même le format TI meilleur (pas de problèmes d'arrondi lors de l'entrée-sortie, distinction entre POSITIVE_ZERO et UNSIGNED_ZERO etc.).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

99

eeek irrespect des standards eeek
l'avantage de l'IEEE-754, ce que tous les processeurs modernes le respectent
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

100

Plains-toi chez TI...
Je respecte le standard de la plateforme et je n'ai rien à foutre lequel c'est, c'est tout.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

101

Compte sur moi pour m'en souvenir hehe

102

>je trouve même le format TI meilleur
Il est juste 10x + lent grin

103

et la représentation IEEE-754 distingue le zéro positif du zero négatif. C'est juste que le test -0 = +0 doit être vrai
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

104

Flanker
: et la représentation IEEE-754 distingue le zéro positif du zero négatif.

Oui, mais pas du zéro non-signé. Il y a 3 zéros en le format de TI et 2 seulement en IEEE.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

105

Et x!=x permet d'identifier ?

106

Un seul zero aurait suffit.

107

Les solutions à 1 ou 3 zéros se défendent, mais avoir seulement 0 et -0 est débile...
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

108

bah non, ça aurait foutu le bordel dans plein d'algo s'il n'y avait qu'un zéro. C'est plus simple de rajouter le test -0 =+0. Les mecs qui ont fait IEEE-754 ont quand même réfléchi un minimum roll
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

109

Alors dis-moi pourquoi 3-3 devrait valoir 0 plutôt que -0 (ou l'inverse grin)...
Quand il y a 3 zéros, c'est clairement 0 et pas +0 ou -0.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

110

3-3 = +0 = -0 gol
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

111

Ben, il te sort forcément une valeur plutôt que l'autre!
Et ça a une importance, par exemple pour 1/(3-3).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

112

Tout depend du mode d'arrondi courant hehe

113

c'est vrai qu'avoir 4 modes d'arrondi, c'est quand même pratique hehe
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant