closed

Loginbox

Please enter your username and password into the following fields to log in.


  • Username:
  • Password:
  •  
  • Auto log in on every visit.


  •  

Return()



Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 508
Registered: 02 / 2007
Private message
Subject: Return()  -  Posted: 14.09.2020 - 15:52   -  
Tach die Herren,

ich habe eine Frage zu Return in Functions.
Ich habe in einem Gerät seltsame Werte beobachtet und frage mich ob beides hier identisch ausgeführt wird:

("G_Average" ist eine Function die Werte zwischen 0 und 4096 als Float zurückgibt, A/D Wandler Daten.)


Code

Function FuncA : Float;
var f : Float;
begin
  f:=  (G_AVERAGE-2048)/12.8;    
  Return(f);
end;

Function FuncB : Float;
begin
  Return((G_AVERAGE-2048)/12.8);
end;


Ich habe eine Vermutung das letztere Variante Probleme mit der Berechnung hat, zumindest habe ich da für bestimmte hohe Rückgabewerte von G_AVERAGE eine große Veränderung des Rückgabewertes der Funktion in Verdacht, leider nur anhand von weiter verarbeiteten gespeicherten Messdaten zu vermuten.

Kann es sein dass in FuncB der Wert nicht als Float berechnet wird und daher ein Überlauf passieren kann?

Vielleicht hat jemand einen Tipp.
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
This post has been edited 1-times. Last edit: 14.09.2020 - 15:53 by Lschreyer.
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1662
Registered: 02 / 2003
Private message
Subject: Re: Return()  -  Posted: 14.09.2020 - 16:23   -  
Hi,
erhöhe mal testweise den Frame ob das was ändert
Gruß, Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
go down go up
Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 508
Registered: 02 / 2007
Private message
Subject: Re: Return()  -  Posted: 14.09.2020 - 17:53   -  
Das hatte ich auch schon im Verdacht, das Problem dabei ist, dass ich es nicht testen kann, es handelt sich dabei um ein Messgerät dass in einer Rakete fliegt und dort Daten aufzeichnet, das lässt sich nur schwer am Boden simulieren. Da muss ich mir erst einmal etwas einfallen lassen.

Danke,

Louis
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
go down go up
Merlin offline
Schreiberling
Avatar
Gender: male
Location: UNITED KINGDOM 
Age:
Posts: 898
Registered: 03 / 2005
Private message
Subject: Re: Return()  -  Posted: 14.09.2020 - 18:58   -  
I have just compiled the functions, and in answer to your question, certainly with the last version of compiler the two functions are identical (apart from the superfluous copying of the result to the frame (local variable f) in the first. So the first uses 4 bytes more frame but that is the only difference.
Merlin.

:magic:

Software is a black art.
This post has been edited 1-times. Last edit: 14.09.2020 - 18:59 by Merlin.
go down go up
Gunter offline
Administrator
Avatar
Gender: male
Location: GERMANY  Frankfurt Main / Germany
Age:
Posts: 1662
Registered: 02 / 2003
Private message
Subject: Re: Return()  -  Posted: 14.09.2020 - 19:01   -  
schreib eine Test-Datenaufzeichnungs-Routine, die nicht real Daten
ausliest, sondern von dir vorgegebene Werte zurückgibt
Gunter
2 Dinge sind unendlich: das Universum und die menschliche Dummheit.
Aber bei dem Universum bin ich mir noch nicht ganz sicher
--
Albert Einstein

---
The concept of global warming was created by and for the Chinese in order to make U.S. manufacturing non-competitive
--
Donald J. Trump on Twitter
go down go up
Lschreyer offline
Schreiberling
Avatar
Gender: n/a
Location: n/a 
Age:
Posts: 508
Registered: 02 / 2007
Private message
Subject: Re: Return()  -  Posted: 15.09.2020 - 09:44   -  
Ja, so ähnlich werde ich es machen müssen, vielleicht finde ich da ein Problem, ich werde eine Messreihe von SD-Card lesen und dann durchschicken, mal schauen was passiert.

Danke auch an Merlin für die Mühe!
DANKE SCHON EINMAL IM VORAUS FÜR DIE HILFE!
go down go up
 


Registered users in this topic
Currently no registered users in this section

Delete cookies of this forum  •  FAQ / Help  •  Team page  •  Imprint   |  Local time: 26.09.2020 - 21:36