Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Neuerer Beitrag  |  Älteres Thema 
 Fehlfunktion bei Nearly()
Autor: Arndt Lindner (---.dip0.t-ipconnect.de)
Datum:   30.09.19 19:24

Hallo Roland,

die Funktion Nearly(N1, N2, N3) funktioniert nicht in allen Fällen. Wenn es große Differenzen bei N1 und N2 gibt und N3 ebenfalls groß ist stürtzt das Programm ab (Ungültige Gleitkommaoperation).
Behelfsmäßig nutze ich die selbstgeschriebene Funktion Nearly1() (siehe Beispielcode). Das sollte bei einem zukünftigen Patch behoben werden.

 proc nearly1
 parameters double a,b,n
   return abs(a-b) < 10^-n
 endproc  
 
 declare double x,y
 
 cls
   x = 1e-11
   y = 0
   
   print format$("%e",x),format$("%e",y),format$("%e",x-y)
   print nearly1(x,y,10)
   print nearly(x,y,10)
   
   y = 1e+10
   
   print format$("%e",x),format$("%e",y),format$("%e",x-y)
   print nearly1(x,y,10)
   print nearly(x,y,10)
   
   waitinput
 end
 


Viele Grüße,
Arndt

Beitrag beantworten
 Foren-Liste  |  Baumstruktur   Neuerer Beitrag  |  Älteres Thema 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org