je travaille en ce moment sur une lib qui peut avoir 2 versions (une
float et une double suivant que REAL est defini a float ou a double).
J'aimerais maintenant que tous les #define EPSILON et autres prennent en
compte la valeur de REAL. Soit un truc du genre:
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
Benoit
#define REAL_DOUBLE // commenter ou decommenter suivant ce que l'on veut
#ifdef REAL_DOUBLE #define REAL double #define EPSILON 1e-6 //pas sur pour la syntaxe #else #define REAL float #define EPSILON 1e-4 #endif
pas sur pour la syntaxe des 1e-6 et 1e-4 (je n'ai jamais utilisé cette syntaxe en tout cas) mais en tout cas le principe (celui des #ifdef / #endif) y est
flure
ben_cal wrote:
Bonjour,
je travaille en ce moment sur une lib qui peut avoir 2 versions (une
float et une double suivant que REAL est defini a float ou a double).
J'aimerais maintenant que tous les #define EPSILON et autres prennent
en compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
Benoit
#define REAL_DOUBLE // commenter ou decommenter suivant ce que l'on veut
#ifdef REAL_DOUBLE
#define REAL double
#define EPSILON 1e-6 //pas sur pour la syntaxe
#else
#define REAL float
#define EPSILON 1e-4
#endif
pas sur pour la syntaxe des 1e-6 et 1e-4 (je n'ai jamais utilisé cette
syntaxe en tout cas) mais en tout cas le principe (celui des #ifdef /
#endif) y est
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
Benoit
#define REAL_DOUBLE // commenter ou decommenter suivant ce que l'on veut
#ifdef REAL_DOUBLE #define REAL double #define EPSILON 1e-6 //pas sur pour la syntaxe #else #define REAL float #define EPSILON 1e-4 #endif
pas sur pour la syntaxe des 1e-6 et 1e-4 (je n'ai jamais utilisé cette syntaxe en tout cas) mais en tout cas le principe (celui des #ifdef / #endif) y est
flure
Marc Boyer
In article <4032368a$, ben_cal wrote:
Bonjour,
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
La solution propre en C++ ce serait plutôt template + typedef. Juste pour rire, compile un bout de ta librairie avec des floats, modifie deux-trois trucs, passe en double et fait un make ou équivalent.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
In article <4032368a$1@epflnews.epfl.ch>, ben_cal wrote:
Bonjour,
je travaille en ce moment sur une lib qui peut avoir 2 versions (une
float et une double suivant que REAL est defini a float ou a double).
J'aimerais maintenant que tous les #define EPSILON et autres prennent en
compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
La solution propre en C++ ce serait plutôt template
+ typedef.
Juste pour rire, compile un bout de ta librairie avec
des floats, modifie deux-trois trucs, passe en double
et fait un make ou équivalent.
Marc Boyer
--
Lying for having sex or lying for making war? Trust US presidents :-(
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
Si qq1 parmi vous a une solution propre, merci d'avance.
La solution propre en C++ ce serait plutôt template + typedef. Juste pour rire, compile un bout de ta librairie avec des floats, modifie deux-trois trucs, passe en double et fait un make ou équivalent.
Marc Boyer -- Lying for having sex or lying for making war? Trust US presidents :-(
Falk Tannhäuser
ben_cal wrote:
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon correspondante au type REAL (soit 'float', 'double' ou 'long double') sur ta plate-forme.
Falk
ben_cal wrote:
je travaille en ce moment sur une lib qui peut avoir 2 versions (une
float et une double suivant que REAL est defini a float ou a double).
J'aimerais maintenant que tous les #define EPSILON et autres prennent en
compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon
correspondante au type REAL (soit 'float', 'double' ou 'long double')
sur ta plate-forme.
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon correspondante au type REAL (soit 'float', 'double' ou 'long double') sur ta plate-forme.
Falk
Loïc Joly
Falk Tannhäuser wrote:
ben_cal wrote:
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon correspondante au type REAL (soit 'float', 'double' ou 'long double') sur ta plate-forme.
Et de plus, ça marche aussi si on a fait :
typedef Real double;
au lieu de
#define REAL double
-- Loïc
Falk Tannhäuser wrote:
ben_cal wrote:
je travaille en ce moment sur une lib qui peut avoir 2 versions (une
float et une double suivant que REAL est defini a float ou a double).
J'aimerais maintenant que tous les #define EPSILON et autres prennent en
compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon
correspondante au type REAL (soit 'float', 'double' ou 'long double')
sur ta plate-forme.
je travaille en ce moment sur une lib qui peut avoir 2 versions (une float et une double suivant que REAL est defini a float ou a double). J'aimerais maintenant que tous les #define EPSILON et autres prennent en compte la valeur de REAL. Soit un truc du genre:
'std::numeric_limits<REAL>::epsilon()' te fournit la valeur d'epsilon correspondante au type REAL (soit 'float', 'double' ou 'long double') sur ta plate-forme.
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres...
Merci pour vos reponses, Benoit
Loïc Joly wrote:
Et de plus, ça marche aussi si on a fait :
typedef Real double;
au lieu de
#define REAL double
Le probleme c que REAL n'est pas defini dans le code mais dans les
options du projet VC++. De cette maniere, on peut recompiler les libs
sans avoir a toucher le code.
Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis
pas sense savoir ou en fait. A moi de me debrouiller correctement pour
changer le code sans "gener" les autres...
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres...
Merci pour vos reponses, Benoit
ben_cal
ben_cal wrote:
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres... Euh, il vous inspire tant que ca mon probleme? ;-(
Personne n'a jamais essaye de faire un truc pareil ou c juste parce que ma question est toute pourrite??
Benoit
ben_cal wrote:
Le probleme c que REAL n'est pas defini dans le code mais dans les
options du projet VC++. De cette maniere, on peut recompiler les libs
sans avoir a toucher le code.
Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis
pas sense savoir ou en fait. A moi de me debrouiller correctement pour
changer le code sans "gener" les autres...
Euh, il vous inspire tant que ca mon probleme? ;-(
Personne n'a jamais essaye de faire un truc pareil ou c juste parce que
ma question est toute pourrite??
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres... Euh, il vous inspire tant que ca mon probleme? ;-(
Personne n'a jamais essaye de faire un truc pareil ou c juste parce que ma question est toute pourrite??
Benoit
Loïc Joly
ben_cal wrote:
ben_cal wrote:
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres...
Euh, il vous inspire tant que ca mon probleme? ;-( Personne n'a jamais essaye de faire un truc pareil ou c juste parce que ma question est toute pourrite??
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce qui ne te conviens pas avec ?
-- Loïc
ben_cal wrote:
ben_cal wrote:
Le probleme c que REAL n'est pas defini dans le code mais dans les
options du projet VC++. De cette maniere, on peut recompiler les libs
sans avoir a toucher le code.
Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis
pas sense savoir ou en fait. A moi de me debrouiller correctement pour
changer le code sans "gener" les autres...
Euh, il vous inspire tant que ca mon probleme? ;-(
Personne n'a jamais essaye de faire un truc pareil ou c juste parce que
ma question est toute pourrite??
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce
qui ne te conviens pas avec ?
Le probleme c que REAL n'est pas defini dans le code mais dans les options du projet VC++. De cette maniere, on peut recompiler les libs sans avoir a toucher le code. Si on fait des trucs du genre, REAL est defini "qqpart" et je ne suis pas sense savoir ou en fait. A moi de me debrouiller correctement pour changer le code sans "gener" les autres...
Euh, il vous inspire tant que ca mon probleme? ;-( Personne n'a jamais essaye de faire un truc pareil ou c juste parce que ma question est toute pourrite??
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce qui ne te conviens pas avec ?
-- Loïc
benoit le callennec
Loïc Joly wrote:
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce qui ne te conviens pas avec ?
A moins que j'ai rate un truc, mais les solutions proposees suppposent que ce soit moi qui definisse REAL. Malheureusement ce n'est pas le cas car il est defini dans les options de compilation... Donc, je me retrouve avec un REAL deja defini et utilise partout dans le code. Pour resumer, on doit pouvoir recompiler toutes les libs uniquement en ne changeant que cette option de compilation... Ya t'il un truc que j'aurais manque?
Benoit
Loïc Joly wrote:
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce
qui ne te conviens pas avec ?
A moins que j'ai rate un truc, mais les solutions proposees suppposent
que ce soit moi qui definisse REAL. Malheureusement ce n'est pas le cas
car il est defini dans les options de compilation...
Donc, je me retrouve avec un REAL deja defini et utilise partout dans le
code.
Pour resumer, on doit pouvoir recompiler toutes les libs uniquement en
ne changeant que cette option de compilation...
Ya t'il un truc que j'aurais manque?
Euh, il me semblait que tu avais déjà eu de bonnes solutions, qu'est-ce qui ne te conviens pas avec ?
A moins que j'ai rate un truc, mais les solutions proposees suppposent que ce soit moi qui definisse REAL. Malheureusement ce n'est pas le cas car il est defini dans les options de compilation... Donc, je me retrouve avec un REAL deja defini et utilise partout dans le code. Pour resumer, on doit pouvoir recompiler toutes les libs uniquement en ne changeant que cette option de compilation... Ya t'il un truc que j'aurais manque?