くだすれFORTRAN(超初心者用)その4at TECHくだすれFORTRAN(超初心者用)その4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト850:デフォルトの名無しさん 10/01/17 17:46:26 一瞬、金比羅って何って思ってしまった 中国系の上司の名前かとw 851:デフォルトの名無しさん 10/01/18 17:38:45 下記のようにimplicit none 付きで、 算術関数 cos 及び derf に関する実験をしているのですが、 cosはreal(8) derf のような宣言が必要ないのはなぜでしょうか。 derfに関しては宣言をしないと、コンパイラ(pgf95 ,7.2-4)に文句を言われます。 program main implicit none real(8) derf real(8) x x = dble(0.7) print*,derf(x) print*,cos(x) end よろしくお願いいたします。 852:デフォルトの名無しさん 10/01/18 22:53:26 >>851 COSはFORTRANの規格で規定されているINTRINSICな関数で、COSは総称名になっている。 引数の型で関数の値の型も決まる。 ただ、66時代の互換性などから、個別の型をあらわに指定するDCOSなどもある。 しかし77時代以降は総称名を使うのが推奨されていたはず。 さて、ERFの方だがこれはFORTRANの規格にはないベンダーの提供する独自関数である。 したがってその実装や用法はベンダーに依存する。 たとえばINTEL FORTRANの場合は、REAL(8)の宣言無しにDERFが使える。 PGIでは、外部関数扱いで、関数の型を宣言しておく必要があるのだろう。 なお、ERFというのはUNIX系の多くのFORTRANで使えた関数で、半ば標準化している。 Fortran2008ではそれらのエラー関数、ベッセル関数などが正規の規格に入ることになっている。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch