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?