Bonjour!
J'arrive pas à trouver une reponse claire à cette question:
Pourquoi il ya 2 class: Math et StrictMath ?
Version imprimable
Bonjour!
J'arrive pas à trouver une reponse claire à cette question:
Pourquoi il ya 2 class: Math et StrictMath ?
En fait si j'ai bien compris, la classe math est devenu la classe strictmath car celle ci a été deprecié.
plus d'infos ici :
http://www.javasearch.net/
:wink:
ouloulou non, la classe Math n'est pas dépréciée.
Les fonctions de la classe Math utilisent les routines dans l'unité à virgule flottante du calculateur pour une meilleure performance. Cela induit que suivant le calculateur, les résultats peuvent être différents !!!
si des résultats totalement prévisibles sont plus importants que la rapidité, il faut employer plutôt la classe StrictMath. Elle implémente les algorithmes provenant de la bibliothèque mathématique fdlibm "Freely Distributable Math Library", qui garantit des résultats identiques quelle que soit la plate-forme.
sources dispo sur http://www.netlib.org/fdlibm/index.html
note : à l'adresse donnée, ne considérer que les fonctions dont le commence par "e". ce sont celles utilisées par StrictMath (version IEEE 754).
StrictMath ne fournit qu'une définition pour une fonction, contrairement à fdlibm
:wink:
Merci pour les reponses
Bonjour,
En fait je viens de regarder le code de la classe Math. Et toute les opérations demandant des calcul des précision (sin, acos, tan, exp, pow
, ....) appel en fait la classe StrictMath.
Donc les deux classes sont les même niveau résuiltat et rapidité.
Enfi c'est pas tout a fait vrai, Math va être un poil plus lent, car faut qu'elle fasse un appel supplémentaire.
JHelp