begin process at 2012 05 28 10:17:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

calcul trigo sur float


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

calcul trigo sur float

samedi 10 janvier 2004 à 12:07:02 | calcul trigo sur float

djl


j'utilise visual c++ 6.0 et je voudrais savoir si cosf est plus rapide que cos sur un float
samedi 10 janvier 2004 à 13:09:01 | Re : calcul trigo sur float

skone007

C'est le même algorithme il y en un seul pour la fonction cosinus. Donc le seul truk qui pourrais ralentir c'est le nombre de virgule enfin la precision des calcules de toutes façon tu peut met juste cos(n) n peut être de tous les type car la fonction est surcharger :D bon ben voilà ils savent coder utilise math.h une lib standart :D @+

SKone le site
SK1-SKone Production-SK1
samedi 10 janvier 2004 à 13:22:10 | Re : calcul trigo sur float

djl

cos cast en double le parametre et retourne un double, pas de surcharge(suffit d'aller voir dans math.h), cosf prend un float en parametre et retourne un float, maintenant au lieu de remplacer tout mes cos par cosf j'aimerais savoir si cosf est reelement optimiser pour les float sous vc++(car le cos est couteux, env 30 cycles par appel recursif) et ca doit dependre des plate forme(processeur) et des implementation
samedi 10 janvier 2004 à 14:49:30 | Re : calcul trigo sur float

BruNews

Administrateur CodeS-SourceS
cos et cosf ont strictement la meme implementation.
fld qword ptr addr
fcos
et le param reste dans le registre fpu ST(0).
pour la bonne raison que la fpu n'a qu'1 seule instruction de cosinus.
La difference de performance sera au niveau de l'attribution finale, si on ecrit sur 8 octets (double) ou sur 4 octets (float) et donc tres minime.
BruNews, ciao...
samedi 10 janvier 2004 à 15:20:26 | Re : calcul trigo sur float

sebseb42

tres minime ? le traitement d'un double prend plus de 2 fois plus de temps que le traitement d'un float.

pour repondre a ta question djl, si tu n'ecrit pas un logiciel necessitant une precision extreme, et si tu as besoin de performance, je te conseil d'utiliser cosf et de travailler avec des float.

de plus, cos cast en double, et si tu savais le temps que bouffe un cast, tu serais desagreablement surpris.

c'est pour ca que je peut te donner ce petit conseil : float f = 0.0; est une erreur assez violente et float f = 0.0f; est plus correcte, car sinon le compilo fait ceci : float f = (float)0.0 (car 0.0 est une valeur double) et ceci bouffe des ressources pas possible.

mais ceci reste dans le cadre d'une necessiter de performances, si tu ecrit un tableur, tout le monde s'en foutra.
samedi 10 janvier 2004 à 15:27:50 | Re : calcul trigo sur float

BruNews

Administrateur CodeS-SourceS
traitement d'un double, si on en passe en param exact que on empile 2 fois DWORD au lieu de 1, si c'est traitement pur au niveau de la fpu le float n'existe pas donc...
Si vous voulez fournir 2 exemples float et double, on en fera les mesures exactes.
BruNews, ciao...
samedi 10 janvier 2004 à 15:37:56 | Re : calcul trigo sur float

djl

sebseb42 ==> j'ai besoin de perf , c'est pour de la 3d

en fait j'ai cru comprendre qu'a la limite autant utiliser uniquement des double tant qu'on est pas limiter par la quantite de memoire, mais je vais quand meme garder les float et utiliser cosf pour eviter les cast(je savais pas que c'etait couteux) vu que la precision me suffit

merci a tous pour m'avoir eclairci
samedi 10 janvier 2004 à 16:06:58 | Re : calcul trigo sur float

sebseb42

arf, bah en fait nan djl, et BruNews, je reconnais mon tord, j'ai fait des test et j'hallucine, multiplication et divison de float et de double, les float sont un poil plus rapide, mais quasiment pas perseptible, et sinon cosf sur float est bien plus lent que cos sur des doubles =(

donc voila, j'avais tord, mais ce que je ne comprend pas, c'est que tout les bouquins de programmation de jeux video sont formels et tout ces gents sont d'accord pour dire que les calculs sur les floats sont plus rapide... je comprend pas

par contre djl, les cast reste tres couteux
samedi 10 janvier 2004 à 21:40:55 | Re : calcul trigo sur float

djl

que dois je faire alors, je fait beaucoup de cos/sin/atan sur beaucoup de float,
il vaut mieux que je passe aux double pour eviter les cast ou rester aux float pour economiser de la place(en fait la pace je m'en fou mais si c'est plus volumineux doit y avoir de la perte en bande passante et plus d'acces aux caches, non?)
samedi 10 janvier 2004 à 21:58:35 | Re : calcul trigo sur float

BruNews

Administrateur CodeS-SourceS
Si float te suffit en precisin tu restes en float.
BruNews, ciao...

1 2

Cette discussion est classée dans : calcul, float, trigo


Répondre à ce message

Sujets en rapport avec ce message

calcul de puissance [ par imanedaoudi ] Bonjour, je cherche à calculer la puissance 20ème d'un float donnèes voici le bout du code que j'ai utilisé: float RealData::RealDistance(vecteur a,ve cast d'un float en double [ par ashboody ] j'aimerais me passer de la variable d_val est-ce possible en faisant un cast de f_val ?/* proto de la fonction Calcul */int Calcul (double *Value);/* Programmation oriente objet [ par juniordiaw ] salut je de voulais que vous m'aider avec mon code voici le sujet et ce que j'ai eu a fair exo: On considère la classe « facturation » qui implémente algorithme des fenetres de calcul en traitement du signal [ par mouha85 ] Bonsoir tous le monde est ce que quelqu'un peux me donner un algorithme en C++ pour les différentes fenêtres utilisées en TS Hamming Blackman...... OpenCV et calcul d'erreur de mire [ par superjemini ] Bonjour, Je vous explique mon besoin : J'ai deux images, chaque image possède la même mire (ROI). J'ai besoin de connaitre la différence de position Algorithme [ par serie1 ] Bonjour, je débute. Quelqu'un pourrait m'expliquer le déroulement de cet alogo. J'ai bien compris que l'on appelle la fonction que l'on a crée "calcu classe abstraite et interface (au sens Java pas graphique :d ) en C++ [ par lulafitt ] Bonjour, Comme précisé dans le sujet quand je parle d'interface je ne parle pas d'interface graphique mais bien d'interface comme dans Java. Ceci dit Problème Fonction de calcul d'un déplacement [ par baptchr55 ] Bonjour à tous... J'ai encore une fois besoin de votre aide : Je travail sur une machine CNC de type UPA. Aujourd'hui j'ai pu déterminer comment comm Problème création d'une fonction de Calcul d'un point [ par baptchr55 ] Je travail sur une machine CNC de type UPA. Aujourd'hui j'ai pu déterminer comment commander celle-ci à l'aide d'un petit programme en C. Je souhaite Calcul combinaison en VBA [ par Mianne99 ] Bonjour, J'ai trouvé ce site qui m'a l'air interessant. Je cherche un code source VBA (pour excel) qui donnerait toutes des combinaisons possibles sel


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,150 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales