« [Fortran]単精度浮動小数点数と倍精度浮動小数点数 | トップページ | [R]関数をコンパイルして動作を速くする »

2015年1月15日 (木)

[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]単精度浮動小数点数と倍精度浮動小数点数 | トップページ | [R]関数をコンパイルして動作を速くする »

無料ブログはココログ

■■

■■■