FORTRAN77(g77)をVine Linux 4.2で使用しています。
立方根の計算をしたいのですが、コンパイル時に"(D)CBRT"がエラーになってしまいます。
原因・代替策など御助言いただければ幸いです。
なお、(D)SQRTは問題なくコンパイル・実行できました。
以下、テスト用ソースとそのコンパイル時のエラーメッセージです。
[ソース]
program a
implicit none
real*8 n
write(*,*)"n= ?"
read(*,*)n
write(*,*)DCBRT(n)
stop
end
[エラーメッセージ]
a.f: In program `a':
a.f:6:
write(*,*)DCBRT(n)
^
Invalid declaration of or reference to symbol `dcbrt' at (^) [initially seen at (^)]
※こちらの画面ではスペースがうまく入りませんので悪しからず。
No.1ベストアンサー
- 回答日時:
自信無し。
普段、fortranの人間じゃないので見るところ自体が間違っているかも。g95でうまくいかず。cbrt関数は
fortran 77では
http://web.mit.edu/sunsoft_v5.1/www/fortran/f77r …
>Intrinsic functions that are Sun extensions of the ANSI FORTRAN 77 standard are marked with ♦.
ANSI Fortran 77をSunが拡張したものだよ、と言われています。
fortran 90
http://www.nsc.liu.se/~boein/f77to90/a5.html#sec …
にも
fortran 95
http://docs.sun.com/source/819-3684/2_F95_Intrin …
にも載っていませんので、
GNU Fortran 77にはひょっとしたらないのかもしれません。
最初のページに載っていた
a**(1/3)ではうまくいかず、(割り算の戻り値が整数なのかな?)
a**(1.0/3.0)で
5.000000239824943
を出すことが出来ています。誤差はありますが。一応アドバイスまで
No.2
- 回答日時:
まあ、1/3乗すれば済む話だと思いますが
CBRT(Cubuic Root)はANSIの規格にありません。ANSI準拠のF77で確実に使える組み込み関数はのここにあるものだけです。確実に使うには、仕様を拡張したFORTRANか、数学パッケージが必要です。
http://www.fortran.com/F77_std/rjcnf-15.html#sh- …
Sunの外にも、VMSのFORTRAN(VAX FORTRAN)、VMS互換を謳ったRyan McFarlandのFORTRANなどにもあったと記憶しています(まだあるのかな)。
ご助言ありがとうございます。
拡張したものでなければ使えないとは、存じませんでした。
使えるものを探してもみます。
まずは、指数法則をそのまま試させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FORTRAN 複素数 (実部を取り...
-
fortran90での三重積分
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
-
0除算して、落ちるプログラムと...
-
正しい五十音順について
-
VBAの再計算が反映されない件に...
-
未使用の変数を一括検索する方法
-
VBAでユーザーフォームが自動的...
-
PICマイコンのコピー(クローン...
-
graph.hがincludeできない
-
インテル マネジメント エンジ...
-
VBAにてメール作成した際、一部...
-
XnViewにwebpを「いつも開く」...
-
Excelで4096点以上のFFTの方法
-
brotherのマシニングセンタとP...
-
初心者はIDE使わないほうが良く...
-
タクシー料金の問題です
-
転職・プログラマー 未経験者...
-
360度を超える角度
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fortran77で乱数を発生させたい
-
FORTRAN 複素数 (実部を取り...
-
tanh^(-1)
-
FORTRAN77(g77)で(D)CBRTがエラ...
-
あるプログラムのコマンドライ...
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
-
正しい五十音順について
-
ゲーミングPCに入っているAlris...
-
0除算して、落ちるプログラムと...
-
Excelで4096点以上のFFTの方法
-
PICマイコンのコピー(クローン...
-
SNSをやらない理由ってなんです...
-
自動クエリとはどういうもので...
-
VBAにてメール作成した際、一部...
-
Bluestacks内でダウンロードし...
-
読み込み中にアクセス違反が発...
-
変数の値が勝手に変化する原因
-
排他的論理和 BCC(水平パリテ...
-
「Outlookが他のプログラムによ...
おすすめ情報