Forum de mathématiques - Bibm@th.net
Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
Discussion fermée
#1 05-05-2016 20:00:56
- Terces
- Membre
- Inscription : 16-07-2015
- Messages : 466
fabs et abs.
Bonjour,
J'ai fait un test de vitesse entre fabs et abs pour des décimaux et des entiers et dans les deux cas, il semblerait que abs soit plus rapide (un peu moins du double je crois).
Alors pourquoi utiliser fabs ?
Merci d'avance.
(En python)
La somme des inverses de la suite de Sylvester converge vers 1 plus vite que toute autre série somme infinie d'inverses d'entiers convergeant vers 1.
Hors ligne
#2 05-05-2016 20:15:43
- yoshi
- Modo Ferox
- Inscription : 20-11-2005
- Messages : 16 989
Re : fabs et abs.
Salut,
Je ne connaissais pas.
http://stackoverflow.com/questions/1077 … bs-vs-fabs
http://stackoverflow.com/questions/2199 … ge-of-fabs
Le f de fabs doit être le f de float,...
@+
Arx Tarpeia Capitoli proxima...
Hors ligne
#3 05-05-2016 23:39:52
- Terces
- Membre
- Inscription : 16-07-2015
- Messages : 466
Re : fabs et abs.
Re,
J'ai déjà vu ces liens avant de poster la question mais concrètement je ne vois toujours pas l'avantage de fabs, je pensais que vous en seriez peut être un peu plus.
Enfin rien de très important^^
La somme des inverses de la suite de Sylvester converge vers 1 plus vite que toute autre série somme infinie d'inverses d'entiers convergeant vers 1.
Hors ligne
#4 13-05-2016 23:03:49
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : fabs et abs.
Bonsoir,
Je découvre ce sujet.
Je ne connait pas Python, mais j'ai lu que le typage était "fort".
J'ai souvent lu cette expression lors de comparaison entre le C et le C++. Pour être franc, cela m'étonne un peu qu'on évoque cet "avantage". Je m'explique : quand on utilise une variable on est censé savoir si c'est un int ou un float. En C, les deux fonctions existent, à mon avis tout simplement parce que le programmeur est censé savoir ce qu'il fait. Ce n'est pas du tout la même chose de travailler avec des int ou de travailler avec des float. Si le programme doit faire un transtypage, ça prend naturellement du temps.
Donc, si j'ai bien compris la question, il faut utiliser fabs s'il s'agit de flottant et abs s'il s'agit d'int. par contre, je n'ai pas vu dans la doc où on précise l'un ou l'autre type.
Par ailleurs, il me parait évident que des erreurs d'utilisation de l'une ou l'autre fonction peut créer des problèmes.
Bonne soirée.
Hors ligne
#5 13-05-2016 23:19:44
- Terces
- Membre
- Inscription : 16-07-2015
- Messages : 466
Re : fabs et abs.
Re,
Oui comme l'a dit yoshi et c'est assez intuitif, le f de fabs doit être pour les flottants... mais il semblerait que abs soit plus rapide pour les flottant et les entiers !
je ne sais pas s'il y a des problèmes qui ne peuvent que se résoudre qu'avec fabs mais ca m'étonnerait (ou bien des situations ou fabs est plus rapide).
La somme des inverses de la suite de Sylvester converge vers 1 plus vite que toute autre série somme infinie d'inverses d'entiers convergeant vers 1.
Hors ligne
#6 14-05-2016 13:48:24
- Dlzlogic
- Banni(e)
- Inscription : 25-04-2016
- Messages : 461
Re : fabs et abs.
Bonjour,
Je ne connais pas la logique interne de Python, mais d'après ce que j'ai pu lire, les comparaisons avec le C sont fréquentes dans les docs, j'ai donc l'intuition que le langage Python est écrit en C.
Concernant la rapidité, étant donné que le Python est multi-plateforme, il est bien possible que cela dépende de l'OS, c'est à dire de la représentation en mémoire des nombres, suivant qu'ils sont en int ou float.
Si j'étais à ta place, je n'essaierais pas de finasser : abs(int) et fabs(float).
D'ailleurs en python, les float sont les "double" du C.
Hors ligne
Pages : 1
Discussion fermée