Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1189 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  [math/algo] efficacité d'une formule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[math/algo] efficacité d'une formule

n°157824
greg@frees​tarthu
Posté le 12-06-2002 à 16:27:40  profilanswer
 

(Bon je vais "parler" en java, je présume que tt le monde comprendra?)
 
Je voulais savoir si qqun pouvait me dire ce qui serait le plus efficace entre
 

Math.floor(f/g) * g


et

f - (f%g)


 
?
(sachant que f & g sont des nbres en virgule flottante)
 
(putain si ça produit pas systematiquement le meme resultat cte honte :-), mais euh, rassurez moi, c bon hein ? :)<--- la vieille bille en math, ici...)
 
edit: c quoi ces [undefined] qd on veut faire un bloc de code là???


Message édité par greg@freestarthu le 06-12-2002 à 16:34:23
mood
Publicité
Posté le 12-06-2002 à 16:27:40  profilanswer
 

n°157834
LeMicky
Posté le 12-06-2002 à 16:32:31  profilanswer
 

moi a vue de nez, je dirais que la premiere solution est la meilleure d'un point de vue resultat et temps de reponse.
Ton f%g me parait consommateur et peu precis qui plus est.
Mais bon ce n'est qu'un avis personnel.
 
 :bounce:

n°157835
DLR_Ninja
Ku Lung Vo Dao Child Incognito
Posté le 12-06-2002 à 16:32:32  profilanswer
 

bah fais le une centaine de fois voir plusieurs milliers et calcul la différence de temps
 
 
f - (f%g) devrait etre plus rapide car pas d'appel de fonction
(cf fonctions inline en C++)


---------------
Narf... [:dlr_ninja]  
n°157838
DLR
Hein c'était quoi la question?
Posté le 12-06-2002 à 16:33:30  profilanswer
 

zut g encore oublié d'enlever mon masque :D


---------------
Narf... It is broken...
n°157840
Je@nb
Kindly give dime
Posté le 12-06-2002 à 16:34:44  profilanswer
 

Ca existe le modulo sur des nombres en virgule flottante ?

n°157844
greg@frees​tarthu
Posté le 12-06-2002 à 16:35:39  profilanswer
 

DLR a écrit a écrit :

zut g encore oublié d'enlever mon masque :D  




 :lol:  
 
 
bon
 
un 3e avis pour trancher entre ces deux avis contradictoire?
(paske ouais les benchmarks je pourrais les faire, c vrai, mais euh. plus tard:-))

n°157846
greg@frees​tarthu
Posté le 12-06-2002 à 16:35:53  profilanswer
 

Je@nb a écrit a écrit :

Ca existe le modulo sur des nombres en virgule flottante ?  




ben.. oui. on dirait:)

n°157848
DLR
Hein c'était quoi la question?
Posté le 12-06-2002 à 16:37:01  profilanswer
 

Je@nb a écrit a écrit :

Ca existe le modulo sur des nombres en virgule flottante ?  




 
non


---------------
Narf... It is broken...
n°157849
youdontcar​e
Posté le 12-06-2002 à 16:37:37  profilanswer
 

Je@nb a écrit a écrit :

Ca existe le modulo sur des nombres en virgule flottante ?


oui, fmod() en C par exemple.

n°157853
greg@frees​tarthu
Posté le 12-06-2002 à 16:39:15  profilanswer
 

DLR a écrit a écrit :

 
 
non  




en java ça passe sans probleme
dans la doc ils appellent ça le "remainder" et non modulo
y'a une difference?
c le reste de la division quoi, je vois pas pq ça existerait pas sur des flottants...?
enfin bon
je vais me la fermer avt de dire une connerie:)

mood
Publicité
Posté le 12-06-2002 à 16:39:15  profilanswer
 

n°157859
DLR
Hein c'était quoi la question?
Posté le 12-06-2002 à 16:40:42  profilanswer
 

c tres proche des maths la...
en principe un modulo c de N ver N, mais les informaticiens et les maths tu sais :D


---------------
Narf... It is broken...
n°157868
gizmo
Posté le 12-06-2002 à 16:42:20  profilanswer
 

Si le "compilateur" est bien foutu, la deuxième solution devrait être plus rapide car elle met en scène moins de mécanismes lourds que la première.

n°157873
youdontcar​e
Posté le 12-06-2002 à 16:43:59  profilanswer
 

DLR a écrit a écrit :

en principe un modulo c de N ver N, mais les informaticiens et les maths tu sais :D


:??: je ne vois pas ce que qu'il y a de choquant à vouloir un quotient entier pour les nombres flottants ...

n°157878
Je@nb
Kindly give dime
Posté le 12-06-2002 à 16:47:31  profilanswer
 

DLR a écrit a écrit :

c tres proche des maths la...
en principe un modulo c de N ver N, mais les informaticiens et les maths tu sais :D  




 
non de Z vers Z plutot ?

n°157882
greg@frees​tarthu
Posté le 12-06-2002 à 16:48:26  profilanswer
 

bon, le vainqueur d'aujourd'hui sera DLR
 
du moins en Java et sur ma machine, dans mon petit benchmark minable,
le

f - (f%g)


est environ 4x plus rapide
(mesure effectuée sur une boucle executant 10000000 fois l'operation, 2 boucles pour chaque operation)

n°157884
gizmo
Posté le 12-06-2002 à 16:49:05  profilanswer
 

DLR a écrit a écrit :

c tres proche des maths la...
en principe un modulo c de N ver N, mais les informaticiens et les maths tu sais :D  




 
C'est pas un problème, le compilo fait un casting sur des entiers.

n°157963
LeGreg
Posté le 12-06-2002 à 17:28:20  profilanswer
 

le resultat ne sera probablement pas le meme
a cause de la limite de precision des flottants.
 
LeGreg

n°157966
greg@frees​tarthu
Posté le 12-06-2002 à 17:30:20  profilanswer
 

legreg a écrit a écrit :

le resultat ne sera probablement pas le meme
a cause de la limite de precision des flottants.
 
LeGreg  




oui, enfin , sachant que mes données à la base sont précises au 1000e, ça devrait aller non? :o

n°158416
MarvinLeRo​uge
In Colt We Trust
Posté le 13-06-2002 à 11:50:16  profilanswer
 

Du modulo sur des réels :heink:  
 
Ca me paraît douteux, voire aventureux : si ca ne plante pas, ca doit faire une approximation entière de chacun des 2 nombres avant le modulo, d'où un résultat forcément faux :non:


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
n°158455
LeGreg
Posté le 13-06-2002 à 13:04:40  profilanswer
 

en C tu as le fmod:
fmod(a,b)
c'est f tel qu'il existe i entier
avec a = i * b + f;
avec f et a de meme signe
et |f| < |b|
 
mais je ne sais pas comment ca fonctionne en java
 
par contre c'est clair que fmod c'est pas la meme
chose que le mod des deux flottants convertis en entiers.
 
LeGreg


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  [math/algo] efficacité d'une formule

 

Sujets relatifs
Un algo qui renvoit toutes les possibilités d'arrangements d'un tab[C, c++, vb, ou autre] - algo de compression.. comment ca marche?
Algo C++ : Aide pour un débutant :)[Challenge]Super algo de tri ...
[JAVASCRIPT] Vous connaissez 1 formule pour...[algo] algo pour ecran tactile
[ALGO] Lire les n dernières lignes d'un fichier texte[Algo] - Quelques bons liens sur les algo pour écrans tactiles ! ! ! !
[algo] definition d'un algo[ALGO] question de débutant sur les fonctions...
Plus de sujets relatifs à : [math/algo] efficacité d'une formule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR