Resultat.f = Pow(Nombre.f, Puissance.f)

Archive.
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Resultat.f = Pow(Nombre.f, Puissance.f)

Message par Heis Spiter »

Juste pour signaler un blème, si on utilise la fonction pow() pour qu'elle renvoi un nombre supérieur à la capacité d'un float. La fonction renvoi un 1.#INF00 assez mystérieux. Y aurait-il possiblité d'avoir un meilleure retour que ça ? Style -1 pour signaler que ça va pô.
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

sauf que Pow(-1, 3) = -1
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Heis Spiter
Messages : 1092
Inscription : mer. 28/janv./2004 16:22
Localisation : 76
Contact :

Message par Heis Spiter »

Le Soldat Inconnu a écrit :sauf que Pow(-1, 3) = -1
Et bien autant retourner 0 alors ! Parce que celui qui élève 0 au cube... honnêtement, voila quoi :lol:
Heis Spiter, webmaster du site http://www.heisspiter.net
Développeur principal et administrateur du projet Bird Chat
Parti courir au bonheur du dév. public et GPL :D
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Rien n'interdit d'élever 0 au cube 8O

On est encore en république, que je sache :lol:
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

surtout si 0 est le résultat d'un calcul
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Ce qui serai pratique dans ce cas, ce serai des constantes pour les valeurs spéciales des flottants.
Ça permettrai des tests du genre:

Code : Tout sélectionner

If MonFlottant.f = #PB_Float_Infinite
  etc...
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Code : Tout sélectionner

Procedure.f Infinite()
  x.f = 0.0
  ProcedureReturn 1/x
EndProcedure

Debug Infinite()
Toujours des rustines ^^

Dri

PS. moins l'infini existe aussi, suffit de mettre un - devant le 1/x
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Autre rustine, un peu plus tordue (passer par PokeL() pour initialiser un flottant :? ):

Code : Tout sélectionner



#bitmapInfiniPos = $FF<<23
#bitmapInfiniNeg = $1FF<<23

DefType.f Flottant

PokeL(@Flottant,#bitmapInfiniPos)
Debug Flottant
PokeL(@Flottant,#bitmapInfiniNeg)
Debug Flottant

Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Répondre