Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 05-05-2016 19: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 19:15:43

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 945

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...

En ligne

#3 05-05-2016 22: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 22: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 22: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 12: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

Pied de page des forums