Page 1 sur 2
Pi
Publié : sam. 17/avr./2004 11:26
par Le Soldat Inconnu
salut, j'ai fais une librairie toute bête pour avoir la fonction Pi()
elle est sur mon site.
et le code est le suivant :
Code : Tout sélectionner
ProcedureDLL.f Pi() ; Retourne la valeur de Pi
ProcedureReturn 3.14159265
EndProcedure
comme vous le voyez, il est extrémement compliqué

Publié : sam. 17/avr./2004 11:52
par cederavic
lol, faire un dll juste pour ça! et bé!

Publié : sam. 17/avr./2004 11:59
par Le Soldat Inconnu
pas une dll, une librairie avec Tailbite. c'est drolement pratique, un petit code idiot et en 30 secondes, une librairie

Publié : sam. 17/avr./2004 12:05
par cederavic
ben #PI = 3.14159265 tout simplement, et c'est moin long

Publié : sam. 17/avr./2004 13:43
par Le Soldat Inconnu
oui, tiens, on fait comment pour faire un resident pour pouvoir rendre une constantes de ce type comme constantes PB ?
Publié : sam. 17/avr./2004 13:51
par Chris
Avec TailBite, en cliquant sur "MakeResident", je pense!
Chris

Publié : sam. 17/avr./2004 13:52
par Guimauve
Facile.
Tu sauvegarde le source et tu démarre TailBite tu charge le bout de code et tu clique sur Make Resident.
Pour savoir si ça marché
Dans un nouveau source
Et le déboggeur deverait afficher 3.141593
A+
Guimauve
Publié : sam. 17/avr./2004 14:12
par Le Soldat Inconnu
super, merci

je met le resident sur mon site pour les fainéants comme moi qui ne veulent pas retaper #Pi.f = 3.1415 à chaque debut de programme.

Publié : jeu. 09/sept./2004 19:12
par kelly
Mouai....... Essaye plutot ca tout simplement :
Publié : jeu. 09/sept./2004 19:48
par Chris
Oui, mais c'est plus rapide de charger une variable avec une valeur connue qu'avec le résultat d'un calcul!

Publié : jeu. 09/sept./2004 23:41
par kelly
tu trouve plus rapide d'appeler chaque fois une fonction PI plutot qu'une valeur qui a certe ete calculé mais qui ne le sera qu'une seule fois ?
Publié : ven. 10/sept./2004 3:40
par Guimauve
kelly a écrit :tu trouve plus rapide d'appeler chaque fois une fonction PI plutot qu'une valeur qui a certe ete calculé mais qui ne le sera qu'une seule fois ?
Qu'est-ce que tu veux dire ?
Pi est-une constante mathématique.
Dans un code on initialise un constante nommé #Pi = 3.141593.
Aucun calcul n'est effectuté ici, du point de vue éxécution, c'est plus rapide de faire avec une constante.
1 calcul
Avec une constante :
#Pi = 3.141593
Volume.f = (4/3) * #Pi * Pow(r,3)
ou plus simple encore, sans constante :
Volume.f = (4/3) * 3.141593 * Pow(r,3)
2 calculs
Avec le calcul d'une variable :
PI.f = ATan(1) * 4
Volume.f = (4/3) * Pi * Pow(r,3)
Même si le calcul :
PI.f = ATan(1) * 4 n'est fait qu'une seule fois, c'est un calcul inutile.
Avec ou sans constante, dans le exe ce sera exactement la même chose.
Une chose que tu semble confondre, #PI n'est pas une fonction. C'est une variable qui ne change jamais "Constante".
A+
Guimauve
Publié : ven. 10/sept./2004 10:56
par cookie
Même si le calcul : PI.f = ATan(1) * 4 n'est fait qu'une seule fois, c'est un calcul inutile.
Avec ou sans constante, dans le exe ce sera exactement la même chose
Pas tout à fait exact d'un point de vue purement mathématique:
en effet:
PI.f = ATan(1) * 4
donne un résultat approché beaucoup plus précis (en nombre de chiffres derrière la virgule) que
#Pi = 3.141593
après, tout dépend de la précision de calcul dont on a besoin

Publié : ven. 10/sept./2004 11:31
par Chris
Fais un debug sur PI.f = ATan(1) * 4, et le résultat sera... 3.141593
Pure arrondit systématiquement à 6 décimales.
Ou est le gain en précision ???
Code : Tout sélectionner
PI.f = ATan(1) * 4 : Debug PI
Debug 3.141593
Debug 3.14149345
Debug 3.141493456 ; <-- Dépassement : message Numeric overflow
Publié : ven. 10/sept./2004 12:01
par kelly
Chris a écrit :Pure arrondit systématiquement à 6 décimales.
Ou est le gain en précision ???
La réponse du gain est dans ta phrase....... >>>>6 décimals <<<<
