Einzelnen Beitrag anzeigen

Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Merkwürdiges Verhalten intrinsischer Routinen

  Alt 25. Nov 2015, 10:18
In D2007 sagt die Hilfe, Pi sei die function Pi: Extended; in der system.pas. Pi ist dort aber nicht zu finden.
Mag daran liegen, dass "System.Pi", wie ich ja bereits sagte, eine "Intrinsische Methode" ist, d.h. nirgendswo explizit deklariert wurde sondern in den Compiler mit eingebaut ist. Siehe hierzu Intrinsische Routinen in Delphi (OH)

Ich kann mir vorstellen, dass man die Idee hatte die Konstante aus dem Prozessor zu übernehmen, falls dieser das unterstützt. Intel-CPUs kennen den Befehl "FLDPI".
Nein, es wird ja nicht "FLDPI" aufgerufen. Das wäre ja dann über eine Variable und dadurch erstens deutlich langsamer und auch irgendwie unnötig, da man eine Konstante ja auch direkt im Programmcode mitkompilieren kann.

Wie gesagt, CompilerMagic. Je nach Typ der Zielvariablen wird eine passende Pi-Konstante als Extended, Double oder Single zugewiesen.
Und was spricht gegen eine untypisierte Konstante? const Pi = 3.14 ist ja kein Extended, sondern typenlos, oder lieg ich da falsch?
Dennis
  Mit Zitat antworten Zitat