existe-t-il une telle fonction template ? si oui, quelle entete faut il
utiliser, sinon lire la suite
il existe abs, labs, et fabs dans <cmath> et <cstdlib> mais qui comme les
autres fonctions mathématiques ne sont définies que pour un type
défini. C99 pallie ce problème avec <tgmath.h> en définissant pour
chaque fonction de <math.h> une version pour {float, double, long double}
donc je commence à utiliser <tgmath.h> présent sur mon système. je
tombe ensuite sur
point de fonction pour calculer la valeur absolue. je réfléchi un peu,
et me dit qu'elle existe peut être déjà (comme min, max et swap). mais
je n'arrive pas à mettre la main dessus
| point de fonction pour calculer la valeur absolue. je réfléchi un peu, | et me dit qu'elle existe peut être déjà (comme min, max et swap). mais | je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
-- Gaby
Benoit Dejean <bnet@ifrance.com> writes:
| existe-t-il une telle fonction template ?
Non et oui.
[...]
| point de fonction pour calculer la valeur absolue. je réfléchi un peu,
| et me dit qu'elle existe peut être déjà (comme min, max et swap). mais
| je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
| point de fonction pour calculer la valeur absolue. je réfléchi un peu, | et me dit qu'elle existe peut être déjà (comme min, max et swap). mais | je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
-- Gaby
Benoit Dejean
Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit :
Benoit Dejean writes:
| existe-t-il une telle fonction template ?
Non et oui.
[...]
| point de fonction pour calculer la valeur absolue. je réfléchi un peu, | et me dit qu'elle existe peut être déjà (comme min, max et swap). mais | je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
je n'ai pas dis forcément template. pourquoi pas template, puisque son utilisation me semble assez générale. je veux juste ne pas avoir à me soucier du type comme actuellement.
template<typename T> T abs(const T &i) { return i < T(0) ? -i : i; }
donc en ce moment j'utilise ceci avec des spécialisation utilisant <tgmath.h> du C99.
je lis les papiers post-Oxford et le pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne vois nulle part une fonction pour faire le calcul de valeur absolu. oublie ? ma méthode est elle là bonne en attendant ?
Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit :
Benoit Dejean <bnet@ifrance.com> writes:
| existe-t-il une telle fonction template ?
Non et oui.
[...]
| point de fonction pour calculer la valeur absolue. je réfléchi un
peu, | et me dit qu'elle existe peut être déjà (comme min, max et
swap). mais | je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
je n'ai pas dis forcément template. pourquoi pas template, puisque son
utilisation me semble assez générale. je veux juste ne pas avoir à me
soucier du type comme actuellement.
template<typename T>
T abs(const T &i)
{
return i < T(0) ? -i : i;
}
donc en ce moment j'utilise ceci avec des spécialisation utilisant
<tgmath.h> du C99.
je lis les papiers post-Oxford et le
pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne
vois nulle part une fonction pour faire le calcul de valeur absolu. oublie
? ma méthode est elle là bonne en attendant ?
Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit :
Benoit Dejean writes:
| existe-t-il une telle fonction template ?
Non et oui.
[...]
| point de fonction pour calculer la valeur absolue. je réfléchi un peu, | et me dit qu'elle existe peut être déjà (comme min, max et swap). mais | je n'arrive pas à mettre la main dessus
Pourquoi veux-tu absolument une telle fonction template ?
je n'ai pas dis forcément template. pourquoi pas template, puisque son utilisation me semble assez générale. je veux juste ne pas avoir à me soucier du type comme actuellement.
template<typename T> T abs(const T &i) { return i < T(0) ? -i : i; }
donc en ce moment j'utilise ceci avec des spécialisation utilisant <tgmath.h> du C99.
je lis les papiers post-Oxford et le pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne vois nulle part une fonction pour faire le calcul de valeur absolu. oublie ? ma méthode est elle là bonne en attendant ?
Gabriel Dos Reis
Benoit Dejean writes:
| Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit : | | > Benoit Dejean writes: | > | > | existe-t-il une telle fonction template ? | > | > Non et oui. | > | > [...] | > | > | point de fonction pour calculer la valeur absolue. je réfléchi un | > peu, | et me dit qu'elle existe peut être déjà (comme min, max et | > swap). mais | je n'arrive pas à mettre la main dessus | > | > Pourquoi veux-tu absolument une telle fonction template ? | | je n'ai pas dis forcément template.
Ah ?!?
| pourquoi pas template,
On écrit un template lorsque cela se justifie :-)
| puisque son utilisation me semble assez générale.
Oui, mais une surcharge peut aussi faire l'affaire, non ?
| je veux juste ne pas avoir à me soucier du type comme actuellement.
C'est déjà chose faite ; tu l'as dit toi-même : <cmath> et <cstdlib>. (si tu protestes contre le fait d'avoir de telles surchages dans pluieurs entêtes, je suis d'accord avec toi.)
| template<typename T> | T abs(const T &i) | { | return i < T(0) ? -i : i; | }
c'est *trop* général.
| donc en ce moment j'utilise ceci avec des spécialisation utilisant | <tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part ça, ...
| je lis les papiers post-Oxford et le | pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne | vois nulle part une fonction pour faire le calcul de valeur absolu. oublie | ? ma méthode est elle là bonne en attendant ?
pourquoi ne pas t'en tenir aux classiques ?
-- Gaby
Benoit Dejean <bnet@ifrance.com> writes:
| Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit :
|
| > Benoit Dejean <bnet@ifrance.com> writes:
| >
| > | existe-t-il une telle fonction template ?
| >
| > Non et oui.
| >
| > [...]
| >
| > | point de fonction pour calculer la valeur absolue. je réfléchi un
| > peu, | et me dit qu'elle existe peut être déjà (comme min, max et
| > swap). mais | je n'arrive pas à mettre la main dessus
| >
| > Pourquoi veux-tu absolument une telle fonction template ?
|
| je n'ai pas dis forcément template.
Ah ?!?
| pourquoi pas template,
On écrit un template lorsque cela se justifie :-)
| puisque son utilisation me semble assez générale.
Oui, mais une surcharge peut aussi faire l'affaire, non ?
| je veux juste ne pas avoir à me soucier du type comme actuellement.
C'est déjà chose faite ; tu l'as dit toi-même : <cmath> et <cstdlib>.
(si tu protestes contre le fait d'avoir de telles surchages dans
pluieurs entêtes, je suis d'accord avec toi.)
| template<typename T>
| T abs(const T &i)
| {
| return i < T(0) ? -i : i;
| }
c'est *trop* général.
| donc en ce moment j'utilise ceci avec des spécialisation utilisant
| <tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part ça, ...
| je lis les papiers post-Oxford et le
| pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne
| vois nulle part une fonction pour faire le calcul de valeur absolu. oublie
| ? ma méthode est elle là bonne en attendant ?
| Le Sun, 05 Oct 2003 19:25:49 +0200, Gabriel Dos Reis a écrit : | | > Benoit Dejean writes: | > | > | existe-t-il une telle fonction template ? | > | > Non et oui. | > | > [...] | > | > | point de fonction pour calculer la valeur absolue. je réfléchi un | > peu, | et me dit qu'elle existe peut être déjà (comme min, max et | > swap). mais | je n'arrive pas à mettre la main dessus | > | > Pourquoi veux-tu absolument une telle fonction template ? | | je n'ai pas dis forcément template.
Ah ?!?
| pourquoi pas template,
On écrit un template lorsque cela se justifie :-)
| puisque son utilisation me semble assez générale.
Oui, mais une surcharge peut aussi faire l'affaire, non ?
| je veux juste ne pas avoir à me soucier du type comme actuellement.
C'est déjà chose faite ; tu l'as dit toi-même : <cmath> et <cstdlib>. (si tu protestes contre le fait d'avoir de telles surchages dans pluieurs entêtes, je suis d'accord avec toi.)
| template<typename T> | T abs(const T &i) | { | return i < T(0) ? -i : i; | }
c'est *trop* général.
| donc en ce moment j'utilise ceci avec des spécialisation utilisant | <tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part ça, ...
| je lis les papiers post-Oxford et le | pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne | vois nulle part une fonction pour faire le calcul de valeur absolu. oublie | ? ma méthode est elle là bonne en attendant ?
pourquoi ne pas t'en tenir aux classiques ?
-- Gaby
Benoit Dejean
Le Sun, 05 Oct 2003 20:18:01 +0200, Gabriel Dos Reis a écrit :
| donc en ce moment j'utilise ceci avec des spécialisation utilisant | <tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part ça, ...
certes
| je lis les papiers post-Oxford et le | pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne | vois nulle part une fonction pour faire le calcul de valeur absolu. oublie | ? ma méthode est elle là bonne en attendant ?
pourquoi ne pas t'en tenir aux classiques ?
ben parce qu'en fait je ne trouvais nulle par que
float fabs(float f); double fabs(double); long double fabs(long double);
étaient définis d'ou mon problème. désolé pour la question bête.
d'ailleurs j'essaie à l'instant
#include <iostream> #include <typeinfo> #include <cstdlib> using namespace std;
si mon programme est correct, le problème existe donc (ou il y a encore des fonctions sur lesquels je n'arrive pas à mettre la main ?)
Le Sun, 05 Oct 2003 20:18:01 +0200, Gabriel Dos Reis a écrit :
| donc en ce moment j'utilise ceci avec des spécialisation utilisant |
<tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part
ça, ...
certes
| je lis les papiers post-Oxford et le | pre-Kona prenant en compte de
fonctions mathématiques multiples, et je ne | vois nulle part une
fonction pour faire le calcul de valeur absolu. oublie | ? ma méthode
est elle là bonne en attendant ?
pourquoi ne pas t'en tenir aux classiques ?
ben parce qu'en fait je ne trouvais nulle par que
float fabs(float f);
double fabs(double);
long double fabs(long double);
étaient définis d'ou mon problème. désolé pour la question bête.
d'ailleurs j'essaie à l'instant
#include <iostream>
#include <typeinfo>
#include <cstdlib>
using namespace std;
Le Sun, 05 Oct 2003 20:18:01 +0200, Gabriel Dos Reis a écrit :
| donc en ce moment j'utilise ceci avec des spécialisation utilisant | <tgmath.h> du C99.
<tgmath.h> est là parce que C ne oeut pas écrire surcharge. À part ça, ...
certes
| je lis les papiers post-Oxford et le | pre-Kona prenant en compte de fonctions mathématiques multiples, et je ne | vois nulle part une fonction pour faire le calcul de valeur absolu. oublie | ? ma méthode est elle là bonne en attendant ?
pourquoi ne pas t'en tenir aux classiques ?
ben parce qu'en fait je ne trouvais nulle par que
float fabs(float f); double fabs(double); long double fabs(long double);
étaient définis d'ou mon problème. désolé pour la question bête.
d'ailleurs j'essaie à l'instant
#include <iostream> #include <typeinfo> #include <cstdlib> using namespace std;
Le Sun, 05 Oct 2003 20:40:30 +0200, Benoit Dejean a écrit :
Le Sun, 05 Oct 2003 20:18:01 +0200, Gabriel Dos Reis a écrit :
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut
vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
merci. désolé du dérangement.
Michel Michaud
Dans news:, Benoit
bon allez, je suis nul, je vois les problèmes ou il ne sont pas,
faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
merci. désolé du dérangement.
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu as bien décodé les messages de Gabriel, bravo), je signale pour clarifier que abs est surchargé en C++, donc on a des abs acceptant divers types, dont des types templates (donc on a aussi des versions templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans news:pan.2003.10.05.18.51.58.192442@ifrance.com, Benoit
bon allez, je suis nul, je vois les problèmes ou il ne sont pas,
faut vraiment que je me trouve une documentation papier sur la
bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL
comme à la fin du K&R ?)
merci. désolé du dérangement.
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si
tu as bien décodé les messages de Gabriel, bravo), je signale pour
clarifier que abs est surchargé en C++, donc on a des abs acceptant
divers types, dont des types templates (donc on a aussi des
versions templates spécifiques d'abs), en plus des fabs, etc.,
hérités de C.
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
bon allez, je suis nul, je vois les problèmes ou il ne sont pas,
faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
merci. désolé du dérangement.
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu as bien décodé les messages de Gabriel, bravo), je signale pour clarifier que abs est surchargé en C++, donc on a des abs acceptant divers types, dont des types templates (donc on a aussi des versions templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michaël Monerau
Benoit Dejean wrote:
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la troisième édition), toute la STL est expliquée détails (même si d'autres livres peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ? -- <=- Michaël "Cortex" Monerau -=>
Benoit Dejean wrote:
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut
vraiment que je me trouve une documentation papier sur la
bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme
à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la troisième
édition), toute la STL est expliquée détails (même si d'autres livres
peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ?
--
<=- Michaël "Cortex" Monerau -=>
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la troisième édition), toute la STL est expliquée détails (même si d'autres livres peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ? -- <=- Michaël "Cortex" Monerau -=>
Benoit Dejean
Le Mon, 06 Oct 2003 05:27:35 +0000, Michaël Monerau a écrit :
Benoit Dejean wrote:
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la troisième édition), toute la STL est expliquée détails
introduite plutôt. je cherche abs dans l'index et la seule chose que je trouve c'est que abs est ici et fabs là-bas?
(même si d'autres livres peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ?
la dernière.
Le Mon, 06 Oct 2003 05:27:35 +0000, Michaël Monerau a écrit :
Benoit Dejean wrote:
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut
vraiment que je me trouve une documentation papier sur la
bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme
à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la
troisième édition), toute la STL est expliquée détails
introduite plutôt. je cherche abs dans l'index et la seule chose que je
trouve c'est que abs est ici et fabs là-bas?
(même si d'autres livres
peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ?
Le Mon, 06 Oct 2003 05:27:35 +0000, Michaël Monerau a écrit :
Benoit Dejean wrote:
bon allez, je suis nul, je vois les problèmes ou il ne sont pas, faut vraiment que je me trouve une documentation papier sur la bilbliothèque standard (pourquoi y a pas ça à la fin du TC++PL comme à la fin du K&R ?)
A la fin du TC++PL, enfin, sur toute la troisième partie (dans la troisième édition), toute la STL est expliquée détails
introduite plutôt. je cherche abs dans l'index et la seule chose que je trouve c'est que abs est ici et fabs là-bas?
(même si d'autres livres peuvent en rajouter sur le sujet)... Quelle édition du bouquin as-tu ?
la dernière.
Benoit Dejean
Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit :
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu as bien décodé les messages de Gabriel, bravo), je signale pour clarifier que abs est surchargé en C++, donc on a des abs acceptant divers types, dont des types templates (donc on a aussi des versions templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
merci bien. tu peux m'en dire plus sur les versions acceptant des types templates ?
Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit :
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu
as bien décodé les messages de Gabriel, bravo), je signale pour
clarifier que abs est surchargé en C++, donc on a des abs acceptant
divers types, dont des types templates (donc on a aussi des versions
templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
merci bien. tu peux m'en dire plus sur les versions acceptant des types
templates ?
Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit :
Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu as bien décodé les messages de Gabriel, bravo), je signale pour clarifier que abs est surchargé en C++, donc on a des abs acceptant divers types, dont des types templates (donc on a aussi des versions templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
merci bien. tu peux m'en dire plus sur les versions acceptant des types templates ?
Gabriel Dos Reis
Benoit Dejean writes:
| Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit : | | > Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu | > as bien décodé les messages de Gabriel, bravo), je signale pour | > clarifier que abs est surchargé en C++, donc on a des abs acceptant | > divers types, dont des types templates (donc on a aussi des versions | > templates spécifiques d'abs), en plus des fabs, etc., hérités de C. | | merci bien. tu peux m'en dire plus sur les versions acceptant des types | templates ?
complex<T>, valarray<T>
-- Gaby
Benoit Dejean <bnet@ifrance.com> writes:
| Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit :
|
| > Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu
| > as bien décodé les messages de Gabriel, bravo), je signale pour
| > clarifier que abs est surchargé en C++, donc on a des abs acceptant
| > divers types, dont des types templates (donc on a aussi des versions
| > templates spécifiques d'abs), en plus des fabs, etc., hérités de C.
|
| merci bien. tu peux m'en dire plus sur les versions acceptant des types
| templates ?
| Le Sun, 05 Oct 2003 22:45:14 -0400, Michel Michaud a écrit : | | > Comme je ne suis pas certain que tu as trouvé la bonne réponse (si tu | > as bien décodé les messages de Gabriel, bravo), je signale pour | > clarifier que abs est surchargé en C++, donc on a des abs acceptant | > divers types, dont des types templates (donc on a aussi des versions | > templates spécifiques d'abs), en plus des fabs, etc., hérités de C. | | merci bien. tu peux m'en dire plus sur les versions acceptant des types | templates ?