Das steht bereits recht lange in der PB-Hilfe, soweit ich weiß. Auch wenn der Code dort wegen der Potenzschreibweise nicht 1:1 in PB funktioniert.
Wenn schon, dann aber bitte:
Code: Alles auswählen
Procedure.d Entfernung(x1.d, y1.d, x2.d, y2.d)
ProcedureReturn Sqr((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2))
EndProcedure
Oder als Macro (wesentlich schneller als Procedureaufruf):
Code: Alles auswählen
Macro Entfernung(x1, y1, x2, y2)
Sqr((x1-x2) * (x1-x2) + (y1-y2) * (y1-y2))
EndMacro
Ist bei der Verwendung von Doubles aber nur auf 64bit Systemen schneller. Auf 32bit sollte man bei dieser gekürzten Schreibweise für bessere Performance entweder Floats nutzen, oder bei Doubles den Zwischenweg über deine zwei Variablen a und b nehmen. Das ist dann sogar tatsächlich schneller.
