Bonjour,
je dois traduire un code C++ en C#. Ne connaissant pas très bien le C++, j'aurais besoin d'aide pour l'instruction suivante:
Code:g = -sign((T)sqrt(s),f);
Que signifie le mot sign ?
Merci d'avance pour votre aide.
Bye
Version imprimable
Bonjour,
je dois traduire un code C++ en C#. Ne connaissant pas très bien le C++, j'aurais besoin d'aide pour l'instruction suivante:
Code:g = -sign((T)sqrt(s),f);
Que signifie le mot sign ?
Merci d'avance pour votre aide.
Bye
Je ne suis pas un spécialiste C++ mais je ne crois pas que "sign" soit une fonction standard ou "native" C++.
C'est ce que je me dis après avoir cherché sur le net mais pas moyen de retrouver d'où vient cette instruction.
Merci;
Bye
Moi non plus.
Commence par chercher où est déclarée cette fonction dans le projet...
La fonction signe est une fonction mathématique. Standard je sais pas (je crois pas tout de même).
Elle est sensée renvoyer 1 ou -1 suivant le signe de ton nombre.
M'enfin, dans ton exemple je vois pas bien :koi:
Cherche comme a dit Médinoc où elle est implémentée...
Salut !
D'après l'aide de C++Builder :
Bonne continuation !Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Sign ndicates whether a numeric value is positive, negative, or zero. Category Arithmetic routines extern PACKAGE int __fastcall Sign(const double AValue); extern PACKAGE int __fastcall Sign(const int AValue); extern PACKAGE int __fastcall Sign(const __int64 AValue); Description Use Sign to test the sign of a numeric value. Sign returns : 0 if AValue is zero. 1 if AValue is greater than zero. -1 if AValue is less than zero.
EDIT :
m***e, excusez moi, j'ai pas remarqué qu'elle prend 2 paramètres :oops:
Sinon, y a pas trace de cette fonction côté C++, à part Fortran qui dit :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Transfert de signe sign (a, b) Renvoie la valeur de a affectée du signe de b, soit: a si b>=0 et -a si b<0. Les arguments sont de types entiers ou réels. Exemples: sign(-5,2) vaut 5 sign(9.5,-6.5) vaut -9.5
A+
Je ne pense pas :Citation:
ça doit être ça
- Son sign prend deux paramètres
- Ca n'aurait aucun intérêt étant donné que le premier paramètre est une racine carrée (toujours positif)
Je sais bien Laurent (sauf si on est dans un monde complexe, mais bon la fonction sign n'aurait plus de raison d'être).
Je vois pas du tout ce que c'est cette fonction.... Elle doit etre dans ton projet, c'est tout! :mrgreen:
Bonjour,
merci pour toutes vos réponses.
Apparemment cette fonction devrait être dans le projet.
Le hic c'est qu'il n'y a pas vraiment de projet. J'ai téléchargé sur le net plusieurs fichiers, j'ai essayé de retrouver l'origine de cette fonction mais sans succès. J'ai crée un projet sous Visual Studio 2005 dans lequel j'ai ajouté tous les fichiers que j'ai téléchargé. Lorsque je cliques droit sur la fonction, que je choisis "Atteindre la définition", VS me trouve ceci:
.......
en refaisant la manip ci-dessus, j'ai retrouvé la signification de sign. Entre le premier message et ce message, j'avais ajouté au projet plusieurs fichiers en-tête et dans l'un d'eux, il y avait la définition de sign à savoir:
Code:
1
2
3 //make sign(a) = sign(b) template< class T > inline T sign( const T a, const T b ) { return ( sign(b)*abs(a) ); }
Désolé pour le dérangement et merci pour tout.
A bientôt
Bye