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

  FORUM HardWare.fr
  Programmation
  C++

  dfloat / float -- Problème avec NGD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

dfloat / float -- Problème avec NGD

n°1806643
nisalon_ca​je
Posté le 30-10-2008 à 22:03:25  profilanswer
 

Bonjour
 
Pour un programme, j'utilise la librairie Newton Game Dynamics qui utilise des dfloat pour ses arguments
 
J'aurai voulu tout d'abord savoir quels étaient les spécificités de ce format parce que je n'arrive pas à le trouver sur le net
 
 
Ensuite, dans mon programme, je préfère utiliser les double, car je travaille sur des nombres qui peuvent etre assez grand (10 000 environ) et que j'ai besoin d'une précision assez grande (10^-3) environ
or NGD n'acceptant pas les doubles, comment puis je faire ?? (il accepte cependant les float car il sait faire la conversion float -> dfloat)
 
Merci d'avance
NC


Message édité par nisalon_caje le 31-10-2008 à 00:03:43

---------------
http://nisalon.labrute.com/
mood
Publicité
Posté le 30-10-2008 à 22:03:25  profilanswer
 

n°1806671
Elmoricq
Modérateur
Posté le 30-10-2008 à 22:42:14  profilanswer
 

Citation :

je travaille sur des nombres qui peuvent etre assez grand (10 000 environ) et que j'ai besoin d'une précision assez grande (10^-3) environ

 

C'est tout petit ça. [:dawa]

 

Le range d'un float c'est -3.4*10^-38 à 3.4*10^38, celui d'un double c'est -1.7*10^-308 à 1.7*10^308.

 

T'as de quoi faire. [:god]

 

Pour ta question sur dfloat, sinon, c'est surement une surcharge propre à la bibliothèque (note : la traduction française de library c'est bibliothèque, et la traduction anglaise de librairie c'est bookshop). Donc jette un oeil sur la documentation de ta NGD, pour ma part je ne la connais pas.


Message édité par Elmoricq le 30-10-2008 à 22:43:06
n°1806689
nisalon_ca​je
Posté le 30-10-2008 à 23:27:36  profilanswer
 

oui je sais que c'est "tout petit" mais l'étendu est sur 10^8 et c'est ca me semble-t-il que le float ne peux pas gérer ... enfin corrigez moi si je me trompe ...


---------------
http://nisalon.labrute.com/
n°1806692
Elmoricq
Modérateur
Posté le 30-10-2008 à 23:40:41  profilanswer
 

J'ai mis ci-des le range d'un float : ça va jusque 10^38

n°1806697
nisalon_ca​je
Posté le 31-10-2008 à 00:02:58  profilanswer
 

ok merci
 
parce qu'en fait le problème est le suivant : j'ai des cubes qui tombent du ciel sur un sol plat (les cubes étant originellement horizontaux)
 
ils détectent la collision avec le sol, et après s'être immobiliés, lorsque je regarde le projeté des sommets du cube sur le sol plan et horizontal, je trouve par exemple ceci : (position du sommet en x et en z (les doublons sont supprimés))
 
-0.936267 - -6.86918
-0.936744 - -7.02718
-0.93712 - -6.87186
-0.937597 - -7.02986
-1.52026 - -6.86741
-1.52074 - -7.02541
 
et on voit qu'il y a 6 valeurs distinctes, alors que, le sol étant plat, on devrait en obtenir seulement 4.
 
on voit cependant que il y a des couples de valeurs relativement proches (à 10^-3 près) et c'est pour cela que je me demandais si je n'avais des problèmes avec les arrondis
 
Mais puisque les float supportent ceci, il n'y pas de raison
 
Connaîtriez vous la cause de mon problème ??
 
Merci d'avance :)


Message édité par nisalon_caje le 31-10-2008 à 00:03:27

---------------
http://nisalon.labrute.com/
n°1806733
Elmoricq
Modérateur
Posté le 31-10-2008 à 08:09:38  profilanswer
 

Fais une recherche sur l'imprécision des nombres flottants due à leur représentation en base 2.
Si t'as du courage, tu peux lire ce document : What Every Computer Scientist Should Know About Floating-Point Arithmetic


Message édité par Elmoricq le 31-10-2008 à 08:09:48
n°1806743
Taz
bisounours-codeur
Posté le 31-10-2008 à 08:51:16  profilanswer
 

Pourquoi tu te poses ce genre de problème maintenant ? t'as des soucis ?
double c'est le type naturel pour faire du calcul flottant.

n°1806750
nisalon_ca​je
Posté le 31-10-2008 à 09:40:59  profilanswer
 

ben j'en avais lu une parti du document ...
 
et oui j'ai un soucis (cf mon dernier post :) ) et j'aimerai savoir si vous auriez pu m'aider :)


---------------
http://nisalon.labrute.com/
n°1806783
Taz
bisounours-codeur
Posté le 31-10-2008 à 10:52:13  profilanswer
 

Bah c'est ton algo, pas les flottants. Tu prends n'importe quel FAQ de C, ça te dit de comparer deux flottants à epsilon près.

n°1807010
nisalon_ca​je
Posté le 31-10-2008 à 16:49:57  profilanswer
 

la comparaison, je la fais...
 
et mon algo, ben c'est pas le mien, la j'ai donné directement les valeurs que me retourne NGD


---------------
http://nisalon.labrute.com/

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

  dfloat / float -- Problème avec NGD

 

Sujets relatifs
probleme de programmation en Cla solution au probleme
Problème avec une classeProblème MySqlParameter c#
ACTIONSCRIPT : Problème bouton/récupération champ texte[résolu] Problème d'accent avec FOP
[Résolu] - [Batch Dos] Probleme carateres dans resultat txtProblème avec INSTR
Problème objet avec PHPProblème wordpress
Plus de sujets relatifs à : dfloat / float -- Problème avec NGD


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