[Fortran]組み込み関数の個別名と総称名について(dsinとsin、dabsとabsなど)
Fortranの組み込み関数(Fortranに標準で搭載されている関数)には個別名と総称名を持つものがある。具体的にはdsinとsin、dabsとabsなどである。
これらはその組み込み関数の引数と戻り値の肩に関するものである。上の例では、dsinとdabsはその関数の引数には倍精度浮動小数点型の変数しか扱えない。これらdsinやdabsといった名前を個別名と呼ぶ。
一方、sinやabsは総称名と呼ばれ、これらは関数の引数に与えられた型を自動で判定して計算し、その関数のも度値も引数で与えた型で返す。
以下は実行例。
program sosho
implicit none
real r
double precision d
r = 3.14
d = 3.14d0
print '(f20.18)', r ! 単精度定数
print '(f20.18)', d ! 倍精度定数
print '(f20.18)', sin(r) ! 単精度で計算(総称名)
print '(f20.18)', dsin(d) ! 倍精度で計算
print '(f20.18)', sin(d) ! 倍精度で計算(総称名)
end program sosho
出力は以下のとおり。
3.140000104904174805
3.140000000000000124
0.001592547981999815
0.001592652916486828
0.001592652916486828
« [Fortran]単精度浮動小数点数と倍精度浮動小数点数 | トップページ | [R]関数をコンパイルして動作を速くする »
「Fortran」カテゴリの記事
- [Fortran]文字列の前後の空白を取り除く(2023.03.05)
- [Fortran]write文で出力時に改行させない(2021.01.31)
- [Fortran]サブルーチンの引数にサブルーチンを指定する(2021.01.09)
- [GNU Fortran]ファイル(ディレクトリ)の存在を確認(2020.08.16)
- [gfortran]エラーメッセージ「Program received signal SIGSEGV: Segmentation fault - invalid memory reference.」(2020.07.20)
« [Fortran]単精度浮動小数点数と倍精度浮動小数点数 | トップページ | [R]関数をコンパイルして動作を速くする »

コメント