>>308
Pi関数について,手元のDelphi 5で試してみましたがコンパイラは単に定数値を代入しているだけでした.

変数 f を double で定義して f := Pi と代入するコードをコンパイルしてCPUウィンドウで見ると以下のようになっていました.

mov [f],$54442d18
mov [f + $4],$400921fb

mov命令はmove,つまりデータの転送を行う命令です.
変数fの中身がある場所に固定の値を2回に分けて転送しています.
singleやextendedでも試しましたが,転送回数がそれぞれ1回,3回になるほかは同様でした.

同じようにコンパイラが扱う関数や手続きとしては
ほかにord関数,Inc手続き,Dec手続きなどがあります
(…と記憶.どこかに書いてあったはずですが確認できず).

自作の関数では同じようなことはできないので定数を定義するのがよいでしょうね.