06/11/22 18:00:54
>Core2DuoでLinuxで
シンタックス・エラー: 解決されない助詞「で」
81:デフォルトの名無しさん
06/11/22 20:45:13
>>80
nice
82:デフォルトの名無しさん
06/11/22 23:35:23
>>74
それは>>78にあるように、SSLIIのライブラリを読んでいるので、それが無いと言っている。
SSLIIのライブラリがあるコンパイラ(Fujitsu、Lahey)の奴でやるか、
あるいは他のライブラリで置き換える必要がある。
LU分解っぽいので、LAPACKとか何でもあるべ。
83:デフォルトの名無しさん
06/11/23 14:05:27
n行m列の行列があり、そこからn行m列のそれぞれの値を一列に直して、それぞれに値について大きい順に並べなおし、元のn行m列に直してみたいのですけどどんなプログラムの方法がありますか?
よければ、教えてください><
ちなみにfortran77を使っています></
84:デフォルトの名無しさん
06/11/23 16:00:07
>>83
言ってることがよく分からないが、2次元行列を列ごとにソートして、
上から下へ大きい順に並べなおしたいということか?
それなら簡単だ。
1.まず1次元ソートのサブルーチンを用意する。これを SORT(n, x) としよう。
2.列ごとにソートする。
DO 10 i = 1, m
CALL SORT(N, X(1, i))
10 CONTINUE
これでおk。
85:デフォルトの名無しさん
06/11/23 18:03:09
>>84さん指摘ありがとうございます
でもちょっと違うのです><
たとえば、1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
について、
1
2
3
…
16
といってから順番を変更して
16 12 8 4
15 11 7 3
14 10 6 2
13 9 5 1
という風に並べたいのです
86:デフォルトの名無しさん
06/11/23 19:56:32
>>85
それならもっと簡単だ。FORTRAN77は配列の先頭アドレスしか渡さない。
次元数とか大きさは気にしない。
また、FORTRANの配列はメモリー上では、列方向に隣り合って1次元に並んでいる。
ゆえに、N*Mの要素数で1次元のソートをすればいい。
1.1次元のソートを用意する。
2.CALL SORT(N*M、X)
これでOK
87:デフォルトの名無しさん
06/11/24 11:12:38
>>83
元々mixiに書き込んだんだから、解決したらmixiにも書くように。
88:デフォルトの名無しさん
06/11/24 11:44:03
>>87
つーか>>83のレベルでは>>86の回答は理解できないんじゃないか。
FORTRANはこういうイカサマ技によって、1次元整数0クリアをつっかって
多次元整数、実数などのクリアーに使えた。一種のPolymorphism wwwww
89:デフォルトの名無しさん
06/11/24 14:36:03
>86さんありがとうございます
確かに速く知りたいという気がはやりすぎて、いろんな所で質問していますね
ちゃんと自分で理解できたら書いていきたいとは思っているのですけどね
でも、やはりちょっと理解できません^^;
よければ、何か例とかあるとありがたいのですけど><
90:デフォルトの名無しさん
06/11/24 14:36:17
>>77
ありがとうございます!
>>78さんの言うとおり、富士通SSLⅡを使っている様子です。
>>82
LaheyやLAPACKとはどんなものですか??
91:デフォルトの名無しさん
06/11/24 20:57:18
>>90
URLリンク(www.google.co.jp)
URLリンク(www.google.co.jp)
92:デフォルトの名無しさん
06/11/24 23:12:56
>>90
Laheyはコンパイラの自社独自開発をやめて、今では富士通のフロントエンドを使っている。
富士通はLinux版しか出していないが、LaheyはWindows版も出している。
富士通が絡んでいるので、プロフェッショナルバージョンを買うとSSLがついてくる。
あとSSLは名古屋大学のNUPACKと密接な関係があるので、netNUMPACが参考に
なるかもしれないし、ならないかもしれないwww
漏れは富士通系はメインには使わなかったのでよく知らんw
LAPACKは固有地問題と線形問題用のサブルーチン集だ。これは国際標準と化してきているので
どこの機械でも動いている。
93:デフォルトの名無しさん
06/11/24 23:33:34
>>89
PROGRAM unko
REAL a(5, 2)
CALL kintama(5 * 2, a)
DO 10 i = 1, 5
PRINT *, a(i, 1), a(i, 2)
10 CONTINUE
END
C
SUBROUTINE kintama(n, x)
REAL x(n)
DO 10 i = 1, n
x(i) = REAL(i)
10 CONTINUE
RETURN
END
実行結果
1.000000 6.000000
2.000000 7.000000
3.000000 8.000000
4.000000 9.000000
5.000000 10.00000
Press any key to continue
サブルーチン 金玉 で、1次元配列xに1~nまで順番に数を代入している。
一方、メインルーチンから呼び出すときは、2次元配列を引数(ひきすう)に与えている。
要素数は行×列=10個で渡している。 返ってくる結果を見ると、列方向に連続した値で戻って来ている。
同様のことをSORTでやれば、はじめ二次元にランダムだった数が、
列方向にソートされて戻ってくる。
94:デフォルトの名無しさん
06/11/25 08:07:15
>>89
>確かに速く知りたいという気がはやりすぎて、いろんな所で質問していますね
それはマルチポストと言って、マナー違反だな。
ここをよーく読んどくように。
URLリンク(ja.wikipedia.org)
95:デフォルトの名無しさん
06/11/26 17:18:04
FORTRANのエロゲとかないの?
96:デフォルトの名無しさん
06/11/27 19:00:46
>>53
>x(1:n) = y(1:n)
この書き方って例えば次のような漸化式に使うと
ちゃんと計算してくれない.
x(1)=0
x(2)=1
x(3:n) = 2*x(2:n-1) - 4*x(1:n-2)
自分に自分を代入するような
式だと駄目っぽい (途中から全部0になる).なんで??
97:デフォルトの名無しさん
06/11/27 21:01:20
>>96
配列の演算はすべて並列計算として処理されるので x の要素が 0 で初期化されていた場合、
x(3) = 2*x(2) - 4*x(1) = 2*1 - 4*0 = 2
x(4) = 2*x(3) - 4*x(2) = 2*0 - 4*1 = -4
x(5) = 2*x(4) - 4*x(3) = 2*0 - 4*0 = 0
x(6) = 2*x(5) - 4*x(4) = 2*0 - 4*0 = 0
・・・
となる。
do i=2,n
x(i) = x(i-1) + 1
end do
と
x(2:n) = x(1:n-1) + 1
では意味が違うのだ。
98:96
06/11/27 22:18:19
>>97
おお~よくわかりました!
ありがとう
99:デフォルトの名無しさん
06/11/28 00:17:59
>>96
REAL::A(N, N), B(N, N)
A = A * B
のような状況を考えれば、今のFORTRANの仕様がもっともだと分かる。
行列操作がらみで、この仕様はとても便利。いちいち自分でテンポラリにコピーしなくていい。
あと一応、並列化されたときのことも考慮されてそういう仕様になっているらしい。
100:デフォルトの名無しさん
06/11/29 13:24:49
>>74のプログラムにおいて、ファイルの定義とはどの部分にどのように書き込むものなのですか?
全体のプログラムの中のどこかに隠れているのでしょうか?
101:デフォルトの名無しさん
06/11/29 21:16:59
次の条件のうちから他の位置の緯度(θ2)と経度(λ2)を求めるプログラムを作成せよ。
1.元の場所の緯度(θ1)を北緯35度40分、経度(λ1)を東経139度12分
2.距離(s)を6242.2kmとする s=R×α°×π/180 (R=6370km)
3.方位角(ν)を86.6度とする sinν=cosθ2×sin⊿λ/sinα (⊿λ=λ2-λ1)
(利用できるのであればcosα=sinθ1sinθ2+cosθ1cosθ2cos⊿λを利用してもよい)
また、他の方法があるのであればそのプログラムを作成せよ。
正直言って、ちんぷんかんぷんなのです><
わかる方がいればよければ、教えてくださいませんか><
102:デフォルトの名無しさん
06/11/29 23:12:10
>>100
基本的にリンカーに対してライブラリを指定するだけである。
最近のコンパイラは、コンパイラ・ドライバというものが、コンパイラやリンカーなどを
自動的に次々呼び出しているので、そのヘルプをよく読んで、リンカーにライブラリを
指定するオプションを探すべし。
コンパイラ・ドライバには、コンパイラへのオプションと、リンカーへのオプションを
個々に与えることができる。
この辺は、便利になった分かえって昔より何やってるのかわからなくなってる。
>>101
球面三角がんばれw
103:デフォルトの名無しさん
06/11/30 02:28:58
>>101
どうも熱海の島から射程約6000kmのテポドンを発射しているようだが、
方位角(ν)の定義が分からん。もう少し詳しく。
まぁ式が与えられているので情報としてはすでに十分なのだが、
数式から逆算する気力がない。
cosα=sinθ1sinθ2+cosθ1cosθ2cos⊿λ は内積から出た。
104:デフォルトの名無しさん
06/11/30 21:33:37
>>101
今度は2ちゃんに書いた後mixiですか。
105:デフォルトの名無しさん
06/11/30 22:25:56
>>101
答えは、ハワイのオアフ島だ。 北緯21度24分 西経157度53分だ。
ついでに発射地点は熱海ではなく、八王子のあたりだな。
PROGRAM vipper
IMPLICIT NONE
REAL :: theta1, theta2, phi1, phi2, alpha, anu, pi
REAL :: rot_z(3, 3), rot_y(3, 3), vec1(3), vec2(3)
CHARACTER :: ns, ew
pi = 4.0 * ATAN(1.0)
alpha = 6242.2 / 6370.0
anu = ( 180.0 - 86.6 ) * pi / 180.0
theta1 = ( 90.0 - ( 35.0 + 40.0 / 60.0 ) ) * pi / 180.0
phi1 = ( 139.0 + 12.0 / 60.0 ) * pi / 180.0
!
rot_z(1, :) = (/ COS(phi1), -SIN(phi1), 0.0 /)
rot_z(2, :) = (/ SIN(phi1), COS(phi1), 0.0 /)
rot_z(3, :) = (/ 0.0, 0.0, 1.0 /)
!
rot_y(1, :) = (/ COS(theta1), 0.0, SIN(theta1) /)
rot_y(2, :) = (/ 0.0, 1.0, 0.0 /)
rot_y(3, :) = (/ -SIN(theta1), 0.0, COS(theta1) /)
!
vec1(1) = SIN(alpha) * COS(anu)
vec1(2) = SIN(alpha) * SIN(anu)
vec1(3) = COS(alpha)
!
vec2 = MATMUL(rot_z, MATMUL(rot_y, vec1))
!
106:デフォルトの名無しさん
06/11/30 22:27:15
theta2 = ASIN(vec2(3)) * 180.0 / pi
phi2 = ATAN2(vec2(2), vec2(1)) * 180.0 / pi
!
PRINT *, theta2, phi2
ns = 'N'
IF (theta2 < 0.0) ns = 'S'
ew = 'E'
IF ( phi2 < 0.0) ew = 'W'
PRINT '(i4, a, i2, 1x, a)', INT(ABS(theta2)), ' ', NINT(( ABS(theta2) - INT(ABS(theta2)) ) * 60.0), ns
PRINT '(i4, a, i2, 1x, a)', INT(ABS( phi2)), ' ', NINT(( ABS( phi2) - INT(ABS( phi2)) ) * 60.0), ew
STOP
END PROGRAM vipper
107:105
06/11/30 22:29:33
ごめん 北緯と南緯の処理が間違ったままの古いのうpしてしまった。
ま、本質は変わらんから適当に処理しておいてくれ。
質問があれば、答えやすく論理的に聞いてくれ。
108:105
06/11/30 22:33:40
スレ汚し すまんこw
出力結果だ。
21.39687 -157.8804
21 24 N
157 53 W
Press any key to continue
あと、方位角νは真北から時計回りに測ることとした。
つまり今の問題では、八王子からほぼ真東に、地球の半径とだいたい同じだけ飛ぶと
ハワイのホノルル近辺に着くという事だ。
Google Earthで確かめて味噌。定規を使うと2地点間の距離を測れる。
109:デフォルトの名無しさん
06/12/01 12:38:00
Mixi より vipper の方が上なのかよw
110:デフォルトの名無しさん
06/12/01 15:04:03
>105さんありがとうございます
今日だされた答えを見比べてみたら、合っています!!
でも、私が実際にやってみた所たくさんのエラー出てきてどうしようもない
状態です><
今、私が利用しているのは[fc pad FTR77]というfortran77のものなんですが
どうしてエラーが出てしまうのかがよくわかりません><
もしも今回のものがfortran77でないとしたら、今度から実際にやるとしたら
どのようなプログラムになるのですか?
よければ、教えてください><
111:デフォルトの名無しさん
06/12/01 19:50:23
浮動小数点の値がでかすぎて整数型に変えられません
ってエラーが出てくるんですが、どうすれば回避できますか?
浮動小数点のままちっちゃくして(10で割るとか)整数型に変えてから10を
掛けるとかすれば回避できると思いますけど(端数は取っといて後で足すとして)
こんな妙なことする必要ないですよね…
くだすれに書き込むべきかと思いましたが落ちてますよね?
112:デフォルトの名無しさん
06/12/01 20:10:12
くだすれFORTRAN(超初心者用)その2
スレリンク(tech板)
それから質問内容は「具体的に」な
113:デフォルトの名無しさん
06/12/01 20:28:00
>>112
あれ?たってましたか…すみません。
そちらで聞いてきます、ありがとう。
114:デフォルトの名無しさん
06/12/01 23:08:57
>>110
つ URLリンク(ace.phys.h.kyoto-u.ac.jp)
これ見て77に直せ。
115:デフォルトの名無しさん
06/12/01 23:14:37
>>111
今の一般のFORTRANの整数は32ビットの整数だ。
その場合表しうる数の範囲は-2^31~2^31-1だ。
2^31=2147483648~2*10^9→2ギガ だから、これより絶対値の大きい
実数を整数に変換しようとすればエラーが出る。
たとえ10で割ってうまく収まっても10倍したらオーバーフローするので無意味だ。
整数のオーバーフローは検知されないので(オプションにもよるが)実行時エラーが
出ないまま無意味な計算が続くことになる。
116:デフォルトの名無しさん
06/12/01 23:23:55
>>110
それはFortran90のプログラムだから、Fortran77ではエラーが出るのは当然だ。
ちみは今度からは、くだスレの方に書きなさい。
しかしその程度のレベルで、あの座標回転を使って解いたプログラムを出したら
他人にやってもらったことがバレバレだwww
次からは最初にFORTRAN77でお願いしますと書いておきなさい。
117:デフォルトの名無しさん
06/12/03 01:14:47
もっと初心者にやさしくしてやれよ。
Fortranユーザーを増やすために。
118:デフォルトの名無しさん
06/12/03 04:16:33
>>117
同意・・・(どうでもいいがw)
119:デフォルトの名無しさん
06/12/03 05:14:42
初心者っつーより只の宿題教えてクンっぽいが。
120:デフォルトの名無しさん
06/12/03 18:07:18
FORTRAN77
のGOTO文とラベルの嵐に
いやになり,暫くC++系に浮気してたが
Fortran90当りからまたフォトランナーに戻った
121:デフォルトの名無しさん
06/12/03 19:04:12
>>120
おかえりなさい。
C言語は、C99,D,C++,ObjectiveC,SecureなCなどに分裂してきているので、
煽ってこの分裂をいっそう深めて、Fortranを有利にしてくれ。
122:デフォルトの名無しさん
06/12/04 03:38:34
>>121
それを発展ともいうんだがw
123:デフォルトの名無しさん
06/12/04 17:38:37
計算量が増えてきたので、1台パソコンを増やそうとしているのですが、
(現在Pen4 3.6GHz、IntelVisualFortran9.0)
並列計算しそうにないコードなので、CPUの選択に迷っています。
今までPen4あたりのシングルコアで流していた方はこれから
どうされるつもりですか?
Core2Duoとかどうなんでしょう・・・
上の方ではCore2Duoの方が速いという書き込みがありますが・・・
一応予算は1式20万円位を想定しています.
124:デフォルトの名無しさん
06/12/04 23:45:38
>>122
いや、ハッテンは結構なんだが、うまく同じくらいに枝分かれしてもらえると、内ゲバが始まって
全部衰退してくれて助かる。
あとC派生言語がSecureな方向に向かってくれると、最適化スピードが落ちてやがて自滅するだろう。
バッファーオーバーランの恐怖とかを煽って常にSUBCHKかけたまま走るように仕向けるべし。
JavaやC#などは結局根本的に方向を間違っていると思う。
UCSD p-code Pascalの昔から、VirtualMachineはとてもいいアイデアのように思えて、
それでいてうまく行ったためしがない。スピードがあればエミュレーションで十分だと、むかしから
言われてきたが、スピードが上がると新しい使い方が出てきて、ギリギリのCPU消費が
求められるからうまく行くはずがない。
もっともFortranも規格がどんどん肥大化していてかつてのPL/I型の破滅の道を
たどっている気がしなくも無いのだがw
125:デフォルトの名無しさん
06/12/05 10:31:13
>>124
PL/Iかw
VMはわしらのように計算機として使う人には無理だが
普通に遊ぶ程度ならいいんじゃないか?
っていうか大丈夫なくらいPCの性能があがったんじゃないか?
もちろん、FortranでVM使われたら根本的な間違いだが
Javaの方向もアリなんじゃないか?
Fortranと用途が重ならないし・・・
ちょっとPL/Iがなつかしくなって書きコ
126:デフォルトの名無しさん
06/12/05 14:26:13
C Pad for Salford FTN77 をつかっていますが、プログラムを実行すると
RUN TIME ERROR
00402c50 SOLU [+0174] [recur= 1]
00401000 TDOFS [+09ca]
が出ます。
RUN TIME ERRORとはなんでしょうか??
メッセージ欄には
「 Licensed to: FTN77 Personal Edition
Department: Non-commercial use only
0001) omega1 theta0 theta1 alph beta theta g()/kG
*** Unexpected continuation line (have you got more than 19?)
*** Compilation failed
^C 」
とでますが、よくわからないです(--;)
どなたか教えてください!!
127:デフォルトの名無しさん
06/12/05 22:54:37
>>126
>*** Unexpected continuation line (have you got more than 19?)
>*** Compilation failed
せっかくコンパイラがメッセージを出しているのだから、ちゃんと読むように。
128:デフォルトの名無しさん
06/12/06 00:05:57
>>126
まったく>>127の言うとおりだ。
子供が泣いているのに、かまってやらない育児放棄の母親レベルだ。
漏れの診断では、2chからコピペしたので、6カラム文の字下げをしていない。
そのせいで継続行に勘違いされている。
129:デフォルトの名無しさん
06/12/06 12:51:58
>>127
じゃあ英訳してあげたら??
子供が泣いているのに、かまってやらない育児放棄の母親レベルだ。
130:デフォルトの名無しさん
06/12/06 13:02:29
>>129は母親に黙らせろって怒鳴るだけの親父。
131:デフォルトの名無しさん
06/12/06 13:06:14
>>130
は事件があった後に
インタビューされる近所の人
「よくあの家の子は泣いていましたよ・・・ひどい親ですね
ま、私は関係ないんですけど」
132:デフォルトの名無しさん
06/12/06 13:52:30
最初の人が馬鹿にした口調で書き込むからこんなくだらないレスが続いてしまったよ。
133:デフォルトの名無しさん
06/12/06 14:08:59
>>132
>>127 は別に悪くないだろ。悪いのは>>128
134:デフォルトの名無しさん
06/12/06 14:31:00
悪いのは>>126。説明を端折った質問をするからこうなる。
「プログラム」が何者かこちらには全く分からない。
135:デフォルトの名無しさん
06/12/06 14:33:15
とりあえず、俺が悪いよ
みんなゴメソ
136:デフォルトの名無しさん
06/12/06 14:40:20
>>134
でも内容も何もわからない人だったら質問をちゃんとしろってのも難しいんじゃないかな??
137:デフォルトの名無しさん
06/12/06 20:08:27
質問をしている人間が自分のやってることの内容も何もわからない状態なら、
それこそ答えようがないだろ。
せめて基本的な文法なりソフトの簡単な使い方くらいは自分で調べて
それでもダメだったら、何がしたくて何を試したけどどう上手くいかなかったか
程度のことは書いて質問すべきじゃないか。
138:デフォルトの名無しさん
06/12/07 04:08:19
>>137
もっともな意見だが、それが出来ればたいていは自己解決して2chになんか聞きにこなくてすむw
139:デフォルトの名無しさん
06/12/07 07:46:51
>>137
Exactly
140:デフォルトの名無しさん
06/12/07 17:42:48
>>139
(笑)
141:デフォルトの名無しさん
06/12/07 22:56:54
Silverfrost (Salford) FTN95 Version 5.00 キタコレ
URLリンク(www.download.com)
URLリンク(forums.silverfrost.com)
.NET 2.0とVisual Studio 2005に対応したらしいが、VS2005は使ってないので詳細は知らん。
142:デフォルトの名無しさん
06/12/08 22:06:05
Intel FortranでMacアドレス取得する方法ありますか?
マニュアル見ても載ってなかったです・・。
143:デフォルトの名無しさん
06/12/08 23:44:07
>>142
C言語でも難しいようだ。標準のWIN32APIでは出来ないので、他の方法をやっているようだ。
安直な方法は、SYSTEM関数でDOSコマンドのipconfig/all を実行し、
その出力からMACアドレスを切り出す方法ジャマイカ?
144:デフォルトの名無しさん
06/12/08 23:52:39
>>143
やっぱりそうなりますかねー。
自分のOS以外で動作を確かめられないのでちょっと大変;;
どうもthx
145:デフォルトの名無しさん
06/12/09 10:46:49
>>142
Three ways to get your MAC address.
URLリンク(www.codeguru.com)
Retrieving Information Using GetNetworkParams
URLリンク(msdn.microsoft.com)
IPHLPAPIを使ってWindowsでネットワーク設定いじるプログラムを書く
URLリンク(www.geekpage.jp)
この辺だと思うが、PlatformSDKのライブラリをLINKすれば可能なようだ。
しかし自分でインターフェースを書かないと駄目なので難しそう。
TYPEとかの定義が深いので、インターフェースに必要な定義がどれだけあるのかわからん。
146:デフォルトの名無しさん
06/12/09 17:06:14
winだったら昔NetBIOSでとったことがある。
147:デフォルトの名無しさん
06/12/09 20:54:36
PROGRAM MAC
USE ifwinty
IMPLICIT NONE
!
INTEGER, PARAMETER :: MAX_ADAPTER_DESCRIPTION_LENGTH = 128 !// arb.
INTEGER, PARAMETER :: MAX_ADAPTER_NAME_LENGTH = 256 !// arb.
INTEGER, PARAMETER :: MAX_ADAPTER_ADDRESS_LENGTH = 8 !// arb.
!
TYPE :: IP_ADDRESS_STRING
CHARACTER (4) :: String(4)
END TYPE
TYPE :: IP_MASK_STRING
CHARACTER (4) :: String(4)
END TYPE
!
TYPE :: t_IP_ADDR_STRING
INTEGER (LPLONG) :: pNext
TYPE (IP_ADDRESS_STRING) :: IpAddress
TYPE (IP_MASK_STRING) :: IpMask
INTEGER (DWORD) :: Context
END TYPE
!
148:デフォルトの名無しさん
06/12/09 20:55:07
TYPE :: t_IP_ADAPTER_INFO
INTEGER (4) :: pNext
INTEGER (DWORD) :: ComboIndex
CHARACTER (LEN = MAX_ADAPTER_NAME_LENGTH + 4) :: AdapterName
CHARACTER (LEN = MAX_ADAPTER_DESCRIPTION_LENGTH + 4) :: Description
INTEGER (UINT) :: AddressLength
INTEGER (BYTE) :: Address(MAX_ADAPTER_ADDRESS_LENGTH)
INTEGER (DWORD) :: Index
INTEGER (ULONG) :: iType
INTEGER (ULONG) :: DhcpEnabled
INTEGER (LPLONG) :: pCurrentIpAddress
TYPE (t_IP_ADDR_STRING) :: IpAddressList
TYPE (t_IP_ADDR_STRING) :: GatewayList
TYPE (t_IP_ADDR_STRING) :: DhcpServer
INTEGER (BOOL) :: HaveWins
TYPE (t_IP_ADDR_STRING) :: PrimaryWinsServer
TYPE (t_IP_ADDR_STRING) :: SecondaryWinsServer
INTEGER (ULONG) :: LeaseObtained
INTEGER (ULONG) :: LeaseExpires;
END TYPE
!
INTERFACE
INTEGER (BOOL) FUNCTION GetAdaptersInfo(arg1, arg2)
USE ifwinty
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'GetAdaptersInfo' :: GetAdaptersInfo
INTEGER (LPLONG) :: arg1
INTEGER (LPLONG) :: arg2
END FUNCTION
END INTERFACE
149:デフォルトの名無しさん
06/12/09 20:56:42
!
TYPE (t_IP_ADAPTER_INFO) :: AdapterInfo(16)
TYPE (t_IP_ADDR_STRING) :: CurrentIpAddress
INTEGER (DWORD) :: dwRetVal
INTEGER (PULONG) :: pdwRetVal
INTEGER (BOOL) :: iret
CHARACTER (LEN = 128) :: Description
dwRetVal = sizeof(AdapterInfo)
iret = GetAdaptersInfo(LOC(AdapterInfo), LOC(dwRetVal) )
!PRINT *, AdapterInfo(1)%pNext
!PRINT *, AdapterInfo(1)%ComboIndex
!PRINT *, AdapterInfo(1)%AddressLength
!PRINT *, AdapterInfo(1)%Description(1:128)
PRINT '(6Z3)', AdapterInfo(1)%Address(1:AdapterInfo(1)%AddressLength)
!PRINT *, AdapterInfo(1)%IpAddressList
!PRINT *, AdapterInfo(2)%pNext
!PRINT *, AdapterInfo(2)%ComboIndex
!PRINT *, AdapterInfo(2)%AddressLength
!PRINT *, AdapterInfo(2)%Description(1:128)
PRINT '(6Z3)', AdapterInfo(2)%Address(1:AdapterInfo(2)%AddressLength)
!PRINT *, AdapterInfo(2)%IpAddressList
STOP
END PROGRAM MAC
とりあえず、これでMACアドレスが取れた。
150:デフォルトの名無しさん
06/12/09 21:09:05
>>142 雪が降っていたので暇つぶしにがんばってみた。
4時間ぐらいかかったが、MACアドレスがIntelFortranで取れた。
方法は>>145の1番目のリファレンスの3番目の方法を用いた。
型などは、2番目のMSDNに書いてある情報から自分で適当に作ってみた。
TYPEのサイズがC++版で求めているのと一致したので多分OKだろう。自信はないw
漏れはメインフレーム育ちの生粋のFORTRANerで、CもC++はHelloWorld以上のものは
書いたことが無いので、文字列とかポインターの扱いとかが今一自信がない。
コンパイルに必要なのはPlatformSDKだが、漏れはインストールのときに
勝手にインスコされていたようだ。この中のライブラリ IPHlpApi.lib をライブラリに
加えておく必要がある。
Linker>Input>Additional Dependency に、そのまま書けばOKだった。
プロジェクトタイプはコンソールでおk。
>>146 >>145の記事によるとNetBiosから取る方法は、最近は推奨されないらしい。
ただし取り方は書いてあった。
151:150
06/12/09 22:27:56
>>149のメインプログラム部分は、以下に直しておいてくれ。
デバッグ用のゴミを削った。複数のネットワークアダプタにも(とりあえず16個以下だが)対応。
TYPE (t_IP_ADAPTER_INFO) :: AdapterInfo(16)
TYPE (t_IP_ADDR_STRING) :: CurrentIpAddress
INTEGER (DWORD) :: dwRetVal
INTEGER (BOOL) :: iret
INTEGER :: i
dwRetVal = sizeof(AdapterInfo)
iret = GetAdaptersInfo(LOC(AdapterInfo), LOC(dwRetVal) )
IF (iret /= 0) STOP 'Error'
DO i = 1, 16
PRINT '(5(Z2.2,"-"), Z2.2)', AdapterInfo(i)%Address(1:AdapterInfo(i)%AddressLength)
IF (AdapterInfo(i)%pNext == NULL) EXIT
END DO
STOP
END PROGRAM MAC
152:デフォルトの名無しさん
06/12/12 14:31:56
compaq visual fortran 6.1を使っています。
1つのプロジェクトの中のsource fileのなかには、二つ以上プログラム
ファイルを入れてはだめなのでしょうか?ためしに片方のプログラム
をコンパイルすると実行時に引っかかってしまいます。
一つを消すと上手くいくのですが…。
では平行して二つのプログラムを作りたい場合どうすればいいのでしょうか?
どうかご返答お願いします。
153:デフォルトの名無しさん
06/12/12 18:50:15
>>152
コードを変更するときには、ワークスペースも変更する必要があるはず。
手っ取り早くするには、コード変更=CVF を一旦終了。
154:デフォルトの名無しさん
06/12/12 23:08:08
>>152
実行ファイル毎にProjectを作成して、1つのWorkspaceに'Insert Projects into Workspace'で
Projectを追加、または'Add New Project to Workspace'で新しいプロジェクトを追加する。
Buildするときは'Set Active Project'でProjectを選んでからBuildするか
または'Batch Build'でまとめてBuildする。
CVF6.6の場合だが、6.1でもたぶん同じだろう。
155:デフォルトの名無しさん
06/12/13 20:25:50
>>153-154
親切にありがとうございました。
ちょっとvisual fortran自体はじめて使ったもので
よく分かりませんでしたが聞いて解決しました
156:デフォルトの名無しさん
06/12/15 20:33:57
ノートパソコンでLAPACKコンパイルすると
ファンがぶんぶん回ってうるさいよ~
157:デフォルトの名無しさん
06/12/16 01:01:54
>>156
LAPACKで計算をするうようになれば同じこと。
158:デフォルトの名無しさん
06/12/18 16:58:00
下記の文章をfortran77で表すとどうなるか、教えていただけませんか?
ex=2.0**((-1)*(l+1))
i=0
k=0
do 210 while(i.lt.n)
i=i+1
k=k+1
if(k.gt.p)then
call delay(ivw,p,q,j)
else
j=k
end if
if(ivw(j).ne.0) then
a(i)=ivw(j)*ex
else
i=i-1
end if
210 continue
159:デフォルトの名無しさん
06/12/18 17:45:37
>>158
whileのループをgoto文を使って書いたら?
160:デフォルトの名無しさん
06/12/18 23:10:13
計算終了時に、携帯電話へメールで知らせてくれるってことできますか??
161:デフォルトの名無しさん
06/12/18 23:13:01
>>160
シェルスクリプトを書けばいい。
162:f90
06/12/19 13:07:00
do
if(i>=n) exit
i=i+1
k=k+1
if(k>p) then
call delay(ivw,p,q,j)
else
j=k
end if
if(ivw(j)/=0) then
a(i)=ivw(j)*ex
else
i=i-1
end if
enddo
163:デフォルトの名無しさん
06/12/20 15:45:48
Intel fortran9.1使ってるんだけど、system()で定期的に外部プログラムを呼ぶとコミットチャージが時間とともに増え続けてしまうという
症状に悩まされていた。ところが、system()の代わりにsystemqq()を使うと、その症状が出なくなった。
こんな経験した人いる?
164:デフォルトの名無しさん
06/12/21 01:03:54
SYSTEMってPOSIX互換のルーチンかい?
SYSTEMQQはQUICKWINからみか?
どっちも使わんなぁw
165:デフォルトの名無しさん
06/12/21 20:44:11
>>164
じゃあ、外部コマンド起動したいときはどうやってるの?
166:デフォルトの名無しさん
06/12/22 00:31:25
外部コマンド呼ばないw
Win32で出来る物はWin32でやる。
できないものは諦めるw
167:デフォルトの名無しさん
06/12/22 00:48:23
コンソールアプリ無視していきなりWin32かよw
168:デフォルトの名無しさん
06/12/22 01:26:17
おまいら仲良くやれよ
スクリプトで妥協しとけw
169:デフォルトの名無しさん
06/12/28 23:25:36
オッペン化粧品!
OpenMPのいい参考サイトか本はアルカイダ?
あぁそれとMPIにしろとか言うなヨーロッパ。
170:デフォルトの名無しさん
06/12/28 23:46:15
コンパイラの自動並列化だけでがまんs
俺も教えて欲しい。
尼損で検索したら、和書は1冊しか無かった・・・
171:デフォルトの名無しさん
06/12/29 00:00:47
>>169
いやさ、さっぱり自動並列化されないから、少し知恵をつけてやるかと思って。
2CPUシングルマシンで軽く行きたい。
QuadCoreを買う口実も欲しいw
172:デフォルトの名無しさん
06/12/29 03:02:52
えー、かなり漠然とした質問ですがちょっとアドバイスをもらえませんか?
ある元となる計算コードでは、セルの幅や高さがすべての領域で一定です。
計算する領域は長方形で、
NCX:セルの行(X方向)
NCY:セルの列(Y方向)
CW:列方向へのセルの幅
CH:行方向へのセルの幅
といった感じです。
また、それぞれのセルには通し番号が割り振られています。
(最初の行を小さいほうから順に1.2.3…と割り振っていって
端に行ったら次の行に移ります)
↑Y
9.......
5678
1234 →X
このコードを元に、任意の列以降でセルの大きさを縦横それぞれ
半分にする(面積を1/4)にして(もちろん以降の行、列数は倍になります)
計算するプログラムを書きたいと思います。セルの大きさの変化は何段階か行われます。
(具体的にはY座標依存のある物理量と比較してセルを小さくするかどうか判別します)
173:172
06/12/29 03:03:23
(続き)
しかし、元のコードには例えばセルが何行、何列目かを判別するために
NY=(N-1)/NCX+1
NX=N-(NY-1)*NCX
のような表現が多様されています。(Nはセルの通し番号)
また、逆に行や列の指定からセル番号を判別するようなものもありますし、
座標指定に
X=NY*CH
みたいな事もしています。
NCX,NCY,CW,CHを配列にして、初期の大きさのセルの領域の行、列数を
NCX(1)、NCY(1)に、次の大きさのセルの行、列数をNCX(2)、NCY(2)に、
というようにセルの大きさで領域を分けて考えよう、と思ったのですが、
あるセルが何番目の領域に属するかをいちいち判別するのもめんどくさいですね。
ちょっと上記の判別の式が複雑になってきてしまいます。
(ループで非常に何度も通るところなので出来るかぎり簡単にしたいです)
各セルが何行何列目に属するかと何番目の領域に属するかを
配列に格納しておけばいいかとは思いますが、
プログラムの経験が浅いこともありかなり無駄なことをしていないか不安になってきました。
既存の構造を生かしたり(置換するだけですぱっと終了とか)
あまり余計なものを追加しないエレガントなやりかたってありますかね?
やっぱり地道にやるしかないでしょうか?長文すみません。
174:172
06/12/29 03:14:28
すみません、
(誤)X=NY*CH
(正)Y=NY*CH
です。
175:デフォルトの名無しさん
06/12/29 20:26:22
>>173
サイズに依存する。
小さいならいったん既存の計算式で求めたセルサイズをテーブルとして保存すればよい。
サイズが大きくてメモリーギリギリまで使っているなら、1回ごとに計算するほうがいい。
567
238 のちな形でサイトを指定してもいいなら、判別の計算式も簡単になるかもしれない。
149 計算機学科の人からはしかられるが、高速でやるにはデータ構造と処理が
切り離せないので、まぁ問題を理解し整理して自分で良く考えろw
176:172
07/01/05 18:17:30
>>175
遅レス申し訳ない。有難うございます。
やっぱりある程度地道にやるほか無さそうですね。
しこしこやってます。
177:デフォルトの名無しさん
07/01/08 20:38:06
若干Fortranから逸れますが、わかる方ご教授ください。
IntelのVisual Fortranで作成したコンソールアプリから
VCで作ったLibファイルを呼び出したいです。
簡単に書くと、VCは
BOOL PrintMessage()
{
中略
}
という関数になっています。
これをFortranから呼び出すために、
自分なりにマニュアルを読み、
以下のようにコーディングしてみました。
178:デフォルトの名無しさん
07/01/08 20:39:25
INTERFACE
LOGICAL FUNCTION PrintMessage()
!DEC$ ATTRIBUTES STDCALL :: PrintMessage
END FUNCTION
END INTERFACE
LOGICAL LX
LX = PrintMessage()
しかし、リンク時に_PrintMessageが見つかりません、と
リンクエラーが出ます。
解決方法はあるでしょうか?
なお、VCから上記VCを呼び出すケースもあるため、
両方Fortranで書けば?というのは無しでお願いしたいです。
一応環境としては、
Visual Studio .NET 2003 + Intel Visual Fortran v9.0
になります。
よろしくお願いします。
179:デフォルトの名無しさん
07/01/09 00:52:12
>>178
呼び出し規約がSTDCALLの場合、外部名はデフォルトですべて小文字と解釈されてしまうので
大文字・小文字が混在する場合は以下の様にする
!DEC$ ATTRIBUTES STDCALL, DECORATE, ALIAS: 'PrintMessage' :: PrintMessage
C側の PrintMessage() 関数も __stdcall でコンパイルされている必要がある。
C++の場合は extern "C" も必要。
また、IVFではLOGICALの内部表現(整数値)が奇数のとき真、偶数のとき偽となるので
他言語の関数とLOGICALを受け渡しする場合は注意すること。
180:178
07/01/09 21:34:40
>>179
レスありがとうございます。
なるほど・・。
F側の大文字小文字対策はマニュアルに書いてありましたが、
いろいろ調整しても結果が同じだったので関係ないと思ってました。
C側の対策は全く見えてませんでした^^
正直Cはド素人なので上記のようにいわれてすぐに対応できませんが
参考にして調べてみます!
ありがとうございました。
181:デフォルトの名無しさん
07/01/09 23:27:06
>>180
IntelFortranのマニュアル見るとちまちまと書いてあるよ。
DECORATE修飾子が新設されたので、DEC時代に場合分けして書いていたのが
すっきりしてうれしい。
182:デフォルトの名無しさん
07/01/10 19:42:57
>>180
ATTRIBUTES STDCALL, ... ではなく ATTRIBUTES C, ... を使えばC言語の方はいじらなくてもおk。
183:デフォルトの名無しさん
07/01/12 23:52:31
三つの数値データを与えてその三つの数値の最大値、最小値、中央値、
平均値、標準偏差、不偏分散を求められるプログラムを作成せよ。
わからなくて大変です。
お願いします
184:デフォルトの名無しさん
07/01/16 12:41:49
Fortressどう思います?
数式をそのまま書けるとか、並列化にコンパイラレベルで対応とか・・・
なかなかよさそげですが。
URLリンク(japan.zdnet.com)
URLリンク(slashdot.jp)
185:デフォルトの名無しさん
07/01/16 12:45:26
>>183
てっとりばやく答えが欲しいなら
スレリンク(tech板)
に行くといいのでは?
186:デフォルトの名無しさん
07/01/16 20:18:01
既に答えが出てる。 ていうかマルチ。
187:デフォルトの名無しさん
07/01/17 03:15:36
>>184
Fortranの資産使えないのにFortran風にする意味がいまいち良く分からん。
188:デフォルトの名無しさん
07/01/19 12:05:30
>>184
pseudocode をそのままコンパイルしてくれるならうれしい。
189:デフォルトの名無しさん
07/01/19 12:55:53
>>187
え、使えないの?
190:デフォルトの名無しさん
07/01/19 23:38:03
Salford ftn95でlapack95を使いたいねんけど、どーすればいいん??
191:デフォルトの名無しさん
07/01/20 00:43:01
>>190
1.NetlibからLAPACKを拾ってくる。
2.どうにかしてblas.libとlapack.lib
192:デフォルトの名無しさん
07/01/20 00:44:49
>>190
1.NetlibからLAPACKを拾ってくる。
2.どうにかしてblas.libとlapack.libをつくる。
3.NetlibからLAPACK95を拾ってくる。
4.どうにかしてlapack95.libとモジュールファイルをつくる。
5. > ftn95 hoge.f90
6. > slink hoge.obj lapack95.lib lapack.lib blas.lib
193:デフォルトの名無しさん
07/01/20 08:07:50
>>192
どもども!
どうにかしてってところが問題だが、どうにかしてみます。
どうにかする方法がわかったら、またよろしゅ~!
194:デフォルトの名無しさん
07/01/20 11:45:48
77で動的配列ってできないの?
x(i,j)
ってしといて
ファイルからi,j読み込んでサイズ決めるみたいな感じにしたいんだけど・・
195:デフォルトの名無しさん
07/01/20 13:15:50
>>194
言語規格としては出来ない。
ただ、コモンとか上のルーチンで大きなワーク配列を取っておいて、
いったん必要なサイズを知った上で下のサブルーチンで作業領域で整合配列を
切って使って似たようなことは出来る。
C言語もK&Rの付録を見るとmallocをそういう感じで実現する例を出している。
196:デフォルトの名無しさん
07/01/20 13:38:47
90ならポインター使える。
PGIとか77でもポインター使える処理系もある。
ポインターの使えない77でもCとの合わせ技で可能。
197:デフォルトの名無しさん
07/01/20 16:25:44
>>193
LAPACK(BLAS):
・netlibから lapack-3.1.0.tgz を取ってくる。
blas.lib:
・lapack-3.1.0\BLAS\SRC の中のソース(*.f)を全部コンパイルする。
・出来たオブジェクトファイルを slim で blas.lib にまとめる。
slim *.obj /file:blas
lapack.lib:
・lapack-3.1.0\INSTALL の中の dlamch.f, dsecnd.f, ilaver.f, lsame.f, second.f, slamch.f を
lapack-3.1.0\SRC にコピーする。
但し、FTN95には second.f, dsecnd.f で使われている ETIME関数が無いので
ETIMEを自作するか CPU_CLOCK, SYSTEM_CLOCK辺りを使って書き換える。
・lapack-3.1.0\SRC の中のソースを全部コンパイルする。
この際、slaruv.f, dlaruv.f をコンパイルするときは最適化オプションを外す。
・出来たオブジェクトファイルを slim で lapack.lib にまとめる。
tmglib.lib:
・lapack-3.1.0\TESTING\MATGEN の中のソースを全部コンパイルする。
この際、slaran.f, dlaran.f をコンパイルするときは最適化オプションを外す。
・出来たオブジェクトファイルを slim で tmglib.lib にまとめる。
198:デフォルトの名無しさん
07/01/20 16:27:59
(>>197の続き)
LAPACK95:
・netlibから lapack95.tgz を取ってきて展開する。
・lapack95\SRCに移動。
・la_auxmod.f90 をコンパイルする。 → la_auxmod.mod, la_precision.mod が出来る。
・f77_lapack_single_double_complex_dcomplex.f をコンパイルする。 → f77_lapack.mod が出来る。
・f95_lapack_single_double_complex_dcomplex.f をコンパイルする。 → f95_lapack.mod が出来る。
・la_csygst.f90, la_csygv.f90, la_csygvd.f90, la_csytrd.f90, la_zsygst.f90, la_zsygv.f90, la_zsygvd.f90, la_zsytrd.f90
以外の la_*.f90 をコンパイルする。
・出来たオブジェクトファイルを slim で lapack95.lib にまとめる。
以上で出来たライブラリファイル(*.lib)を環境変数 LIB で指定したフォルダへ、
モジュールファイル(*.mod)を環境変数 MOD_PATH で指定したフォルダへそれぞれ移す。
199:デフォルトの名無しさん
07/01/20 17:04:13
関数名を引数に使いたいのですが、EXTERNAL文を呼び出し側で使っても
うまくいきません。
下のプログラムなのですが、何処が間違っているんでしょう?
External func
real func,SUM
write(*,*) SUM(func)
end
real Function SUM(f)
External func
real f
SUM = f(1.0)+f(2.0)
return
end
real Function func(x)
real x
func = x
return
end
200:デフォルトの名無しさん
07/01/20 19:15:37
>>199
SUM() がF90の関数と混同されているんで内科医?
SUM0とかにすればおK
201:デフォルトの名無しさん
07/01/20 19:22:59
>>199
External func → external func, SUM
202:199
07/01/20 22:07:45
>>200>>201、ご指摘の方法で解決することが出来ました。
有難うございます。
203:デフォルトの名無しさん
07/01/20 22:37:50
>>197,198
ありがとう~、格闘の末何とかなりました。
オレもあんたくらい、pcを自由にあやつりたいもんですわ!
204:デフォルトの名無しさん
07/01/21 00:37:48
本来ならMakefileを書いて、テストプログラムも含めてmake(MK32)で処理させるべきなのだろうけど
FTN95の場合、他のコンパイラとオプションの指定方法が違ったりするから中々面倒くさい。
205:デフォルトの名無しさん
07/01/26 07:14:03
質問です。
OPEN (4,FILE=RESULT.OUT,FORM='FORMATTED')
このRESULT.OUTを、あるIと言う数値を読み込んで
例えばI=5000ならRESULT5000.OUTのようにしたいんですが、
出来るでしょうか?要するに計算のステップ数に応じて
自動的にファイル名をつけて出力してやりたいんですが、
OPENの中身をいじるだけじゃダメですかね?
206:デフォルトの名無しさん
07/01/26 10:04:30
>>205
その質問は千回くらい出ている。
過去ログ見れ
207:デフォルトの名無しさん
07/01/28 18:26:34
自分のマシンのフォートランコンパイラコマンドを汁にはどうしたら良いですか?
VINELINUX使ってます。
208:デフォルトの名無しさん
07/01/28 20:37:47
>>207
shell に g77 とか gfortran とか g95 とか ifort とか入れてみる。
使えるようなら no input files などと返ってくる。
なけりゃ自分でインストロールする。
209:デフォルトの名無しさん
07/01/28 21:47:58
全部使えませんでした。
ifortいれたいのですが、どこでダウンロードできますか?
210:デフォルトの名無しさん
07/01/28 21:54:39
>>209
つ google
211:209
07/01/28 22:35:38
何度もすみません。
インテルのコンパイラ入れようとしたら下記のメッセージで止まってしまいます。
解決方法を御存じのかたは教えてください。
./.././data/install_fc.sh: line 1459: ERROR: unable to find command "ls" !: command not found
./.././data/install_fc.sh: line 1463: Please add the location to the above commands to your PATH and re-run the script.: command not found
./.././data/install_fc.sh: line 1464: Please press Enter to continue...: command not found
212:デフォルトの名無しさん
07/01/28 22:39:51
>>211
> 解決方法を御存じのかたは教えてください。
夜間中学で英語を学びなおす。
213:デフォルトの名無しさん
07/01/28 22:48:29
つーか lsが見つからんて、どんな環境やねん
214:デフォルトの名無しさん
07/01/30 00:02:48
>>211
URLリンク(www.google.co.jp)
215:デフォルトの名無しさん
07/01/30 01:02:12
EclispのPhortranってどうよ?
とくにLinux上のIntelコンパイラとの組み合わせの使い心地 知りたい
216:デフォルトの名無しさん
07/02/03 07:25:11
Mac OS X 上のgfortran 4.0でコンパイルした時に
gfortran: spec failure: unrecognized spec option 'M'
というエラーがでるのですが何がまずのでしょう? ちなみに他のマシン(LINUX)のgfortranでは
エラーはでません。一応、走るのですが、writeでposition='append'を指定しても既存ファイルに
データを付け加えず、完全に上書きしてしまうので困っています。ちなみにLINUX上では
うまく行きます。
217:209
07/02/04 11:51:06
>>214
ありがとうございます。
感謝します。
218:デフォルトの名無しさん
07/02/15 00:11:54
NAGのFortranBuilderのNAGFortran95コンパイラのVersionって5.0?それとも5.1?
5.1なら買いたいんだけど、誰か知ってる人いる?
219:デフォルトの名無しさん
07/02/16 15:57:03
全角英数は気持ち悪いというセンスを身に着けてから出直してくれ。
220:デフォルトの名無しさん
07/02/16 19:36:46
>>219
おい、おまえ
同感
221:デフォルトの名無しさん
07/02/17 00:00:33
>>219
ごめん 訂正させてもらう
NAGのFortranBuilderのNAGFortran九五コンパイラのVersionってⅤ.0?それともⅤ.Ⅰ?
Ⅴ.Ⅰなら買いたいんだけど、誰か知ってる人いる?
全角漢数字かローマ数字をつかえばいいわけだろ?
222:デフォルトの名無しさん
07/02/17 00:07:15
つまらん
223:デフォルトの名無しさん
07/02/17 00:22:25
フォートランって今でもリアルに使ってるとこあるのか?w
本物のプログラマは~、の時代でもすでに時代遅れのダメ言語だったのに
224:デフォルトの名無しさん
07/02/17 01:16:58
>>223
おまえ、ちょっとそこに正座しろ。
この世間知らずがw
いいか、電子計算機の本流はFortranだぞ!
スパコン・ランキングの機械で動いているプログラムは基本的にFortranだ。
大体マルチコアで並列化といっているが、MPIもOpenMPも対応コンパイラはFortranか
Cしかなくて、Cはあくまでおまけだ。大多数の人間はFortranでプログラム書いてる。
これから並列化が主流になるにつれ、Fortranの天下が再びやってくるのは間違いない!
悔い改めよ!さもなくば地獄の業火に焼かれるべし!
詳しくはマタヨシイエスのサイトを熟知すべし。
225:デフォルトの名無しさん
07/02/17 01:22:52
唯一神Fortran
226:デフォルトの名無しさん
07/02/17 01:36:08
>>221
「全角英数」の意味がわかるようになってから出直してくれ。
227:デフォルトの名無しさん
07/02/17 01:43:01
>>216
gfortran どやっていれたんですか?
俺のmacにははいってないんだてど
228:デフォルトの名無しさん
07/02/17 01:53:16
>>227
君のMacはハズレだったんだよ。
229:デフォルトの名無しさん
07/02/17 01:54:03
>>226
おまいら,うぜーから他所でやれ.
230:デフォルトの名無しさん
07/02/17 10:54:58
>>229
うるせー、>>218や>>221のようなグロは見たくねーんだよ。
231:デフォルトの名無しさん
07/02/17 23:09:57
最近くだスレのほうがレベルが高いなw
232:デフォルトの名無しさん
07/02/21 15:40:26
>>218 5.1を搭載
233:デフォルトの名無しさん
07/02/21 22:54:23
>>232
㌧クス!
nagのサイトに調べにいったんだが、Windows用はまだ5.0だったので、だめかと思ったが。
安いやつ買って見っかー でもライセンスがウゼーんだよな。
234:デフォルトの名無しさん
07/02/25 00:31:39
Intel Visual Fortran 9.1に付属してくるデバッガ(idb)の詳しい日本語の資料や書籍ってないんでしょうか?
235:デフォルトの名無しさん
07/02/25 17:39:49
エクセルソフトがコンパイラマニュアルの日本語訳を出していたが、デバッガもあったかな?
236:デフォルトの名無しさん
07/02/25 23:30:36
>>235
XLsoftから日本語マニュアルを落としてみましたが、
詳しく載っているのはVisual StudioでのデバッグだけでIDBについては主要なコマンドの説明のみでした。
>IDB に関する詳細は、[スタート] メニューから利用可能なインテル・デバッガーのオンラインマニュアル (英語) を参照してください。
とのことで・・・このマニュアル、完全に日本語訳されてる訳じゃないんですね。
Language Referenceとか英文のままだし。
237:デフォルトの名無しさん
07/03/11 12:16:05
>>236
URLリンク(www.xlsoft.com)
日本語版スペシャルエディションでもなんか中途半端だし、しょうがないんじゃない?
コンパイルする時のオプションてなに使ってる?/O3とか普通に使って大丈夫なのかな・・・
238:デフォルトの名無しさん
07/03/11 12:20:26
Interl Visual Fortranのデバッガは糞だと思う。HPやCompaqの頃までのが一番良かった。
239:デフォルトの名無しさん
07/03/11 15:45:54
Compaq Visual Fortranの頃はVisual Studioのデバッガだけじゃなかったっけ
240:デフォルトの名無しさん
07/03/11 17:16:03
idbは概ねUNIX/Linuxのdbx/gdb互換(のコマンド体系)なので
これらについて書かれた資料を探せば参考になるかも知れん。
>>237
>/O3とか普通に使って大丈夫なのかな・・・
同時にデバッグ・オプションも付けとけばとりあえずおk、だが
最適化による命令の並べ替えやループのアンロールなどの影響で
ソースファイル通りにトレースできなくなる所が出てくる。
241:デフォルトの名無しさん
07/03/11 19:28:32
>>240
インテル・コンパイラはデバッグオプションつけても自動的に最適化は抑止されないのか?
242:デフォルトの名無しさん
07/03/11 20:07:27
>>241
ifort /debug:full hoge.f90
のようにデバッグ・オプション(/debug:full)だけ付けて最適化の指示を省略すると
すべての最適化が無効になる。
ifort /debug:full /O3 hoge.f90
のように最適化を明示(/On)すると、最適化した状態でデバッグ情報の生成を行う。
243:デフォルトの名無しさん
07/03/11 22:03:02
>>242
そういった資料はどこかにあるものだろうか?
必死こいてググって見たがイマイチよく理解できなくて・・・
何かよいものがあれば教えてください
244:デフォルトの名無しさん
07/03/11 22:43:38
>>243
XLsoftからDL出来る日本語マニュアルから。
>>242の内容なら、「アプリケーションのビルド」-「Debugging」-「デバッグと最適化」の所に載っています。
245:デフォルトの名無しさん
07/03/11 23:44:47
>>244
まさかそんなところに!!
ありがとうございます、熟読してきます。
246:デフォルトの名無しさん
07/03/20 19:03:09
ジョン・バッカス追悼age
John W. Backus, 82, Fortran Developer, Dies
John W. Backus, who assembled and led the I.B.M. team that created Fortran,
the first widely used programming language, which helped open the door to
modern computing, died on Saturday at his home in Ashland, Ore. He was 82.
URLリンク(www.nytimes.com)
247:デフォルトの名無しさん
07/03/21 11:13:38
【訃報】コンピュータ言語「FORTRAN」開発者、ジョン・バッカスさん死去…米・オレゴン州
スレリンク(newsplus板)
248:デフォルトの名無しさん
07/03/21 13:16:33
ジョンさん、懐かしい
249:デフォルトの名無しさん
07/03/21 14:02:59
【訃報】ジョン・バッカスさん死去 コンピューター言語「FORTRAN」開発
スレリンク(news板)
250:デフォルトの名無しさん
07/03/21 14:50:05
バッカスって酒飲みの
251:デフォルトの名無しさん
07/03/23 19:54:29
すいません、初心者です。
↓のようなデータを画面に出したいのですが
参考プログラムを教えていただけませんか?
1964/1/1 115 89 80 81 104 154 209 256 287 298 285 260 229 199 176 170 189
1964/1/2 155 111 89 81 91 124 171 227 266 293 292 274 252 221 190 174 181
1964/1/3 191 147 112 92 94 113 151 194 241 271 290 283 267 241 214 189 176
1964/1/4 222 185 147 117 101 107 134 168 208 248 274 284 274 256 233 208 185
1964/1/5 238 213 184 156 134 127 139 164 193 227 259 276 274 267 249 226 204
1964/1/6 248 234 214 190 165 151 149 161 181 206 234 257 267 266 257 243 222
1964/1/7 234 236 229 215 199 184 175 175 184 203 224 241 256 264 259 248 233
1964/1/8 216 228 234 229 221 213 203 192 190 197 210 225 239 252 258 254 243
1964/1/9 193 212 227 237 238 231 220 209 199 194 195 205 217 232 243 250 246
1964/1/10 163 181 203 226 238 243 240 229 217 205 195 196 202 215 232 245 251
252:デフォルトの名無しさん
07/03/24 07:34:06
開発者死んだのにお前ら流石にスルーし過ぎw
253:デフォルトの名無しさん
07/03/25 10:32:06
>252
手は合わせたが、2chで語る話題でもなかろう。
254:デフォルトの名無しさん
07/03/25 22:54:12
>>252
バッカスのヤオイ同人でも作ればいいのか?
255:デフォルトの名無しさん
07/03/25 23:23:03
まあ、バッカスさん自身はあまりFORTRANを好きじゃなかったみたいだしな。
256:デフォルトの名無しさん
07/04/10 08:28:32
writeをつかってバイナリデータを書き出しているのですが、
マシンによって出力されるバイナリが微妙に違い、
互換性のないバイナリファイルができてしまいます。
どのマシンでも共通のバイナリファイルを読み書きできるようにするには
どのようにしたらよいのでしょうか?
257:デフォルトの名無しさん
07/04/10 10:59:24
>>256
無理言うなw
どうしてもやりたければ、自分でビット列を生成して、それを1文字にして書け。
それでもあわせるのは不可能。
テキスト文字で出してIBM単密度形式の磁気テープでやり取りするのが一番確実だ。
大体、マシン毎にワード数(バイト数)が異なる場合がある。
昔のACOSは9ビット、CDCも妙なワード長だった。
文字コードにしても、IBM互換のEBCDIC系と(ただしメーカー毎に微妙に違う)、
DECやACOSのASCII系などが入り乱れている。
数値のフォーマットは会社毎にマシン毎にコンパイラ毎に異なるのが普通だ。
さらにはIBM、モトローラ系列BigEndianビット列LittleEndian、DEC、Intel系のLittleEndian系に
分かれている。これらもビット並びでさらに分裂するらしい。
とはいえ、明るい話もある。数値計算の世界では、もはやACOSもCDCもほとんど使われていない。
EBCDICもめったに見なくなった。ワード長は32ビットが普通だし、1バイトは8ビットに統一された。
数値のフォーマットもIEEE754にほぼ統一された。
残る問題はエンディアンだけだ。そのエンディアンすらコンパイラのオプションで大抵は、マシンの
自然体に関わらず、Big/Littleのどちらでも読み書きできるのが普通だ。
ゆえに、『エンディアン』をマニュアルで調べれば、チミの問題は解決する。
258:デフォルトの名無しさん
07/04/11 19:09:47
インテルのフォートランコンパイラifortを使ってコンパイルしています。
CPUはOpteronなのですが、-xWオプションをつけないとSSEやSSE2は全く使用されないのでしょうか?
259:デフォルトの名無しさん
07/04/12 00:11:39
>>258
デフォでは使用されなかったと思う。詳しくはHelpで確かめよ。
SSEは厳格にはIEEE754の規約を満たしていないせいか、
あるいは全バイナリー対応のためか?w
260:デフォルトの名無しさん
07/04/12 00:22:30
Mac用は-xPがデフォルトの様だから互換性のためなんでしょうね。
261:デフォルトの名無しさん
07/04/12 13:06:13
FORTRANで書き出したバイナリファイルの読み出し方は分かるのですが、
実験機器がはき出したバイナリファイルを読み込むにはどうしたらよいのでしょうか?
なお、FORTRANで書き出すと、今使っているマシンでは先頭に4バイトほどの識別データが付加されますが、
実験機器がはき出したバイナリファイルにはこれがついていません。
262:デフォルトの名無しさん
07/04/12 17:43:14
>>261
ファイルをOPENするときに form="binary" としたり (処理系依存)
access="stream" としたり (Fortran 2003)
263:デフォルトの名無しさん
07/04/13 02:58:02
>>261
DIRECT形式を使って書くという裏技がある。昔のコンパイラでやるにはこれか。
ただ今は>>262の書くように、F2003拡張の先取りでSTREAMモードが大抵あるのでそれを使うがよろしい。
264:デフォルトの名無しさん
07/04/13 21:39:29
面倒なのでCで読み込む。
265:デフォルトの名無しさん
07/04/25 16:57:37
STDCALL の関数を g95 から呼びたいのですが、どうするのがよいでしょうか。
266:デフォルトの名無しさん
07/04/25 21:35:56
>>257
>1バイトは8ビットに統一された。
以前は統一されてなかったの?
267:デフォルトの名無しさん
07/04/26 22:37:47
>>266
あらゆるものが統一されていなかった。
268:デフォルトの名無しさん
07/05/03 14:36:07
今は統一されているといっていいのか?
269:デフォルトの名無しさん
07/05/03 16:02:16
まあ昔に比べれば
270:デフォルトの名無しさん
07/05/07 06:10:19
fortranで
webの結果を得ることできる?
get URLリンク(www.hoge.com)
を行い
結果をファイルに残す
あるいは、戻り値 403 not found
かどうかの判定とか。
Linux *g77
です
271:デフォルトの名無しさん
07/05/07 06:15:37
できなくはないだろうけど、
別の言語を使った方がいいと思う。
272:デフォルトの名無しさん
07/05/07 08:01:53
うわ、返事はや!
ありがとう。
自由自在に書ける言語がFortranとVB系以外のbasicなんです。
検討してみます
273:デフォルトの名無しさん
07/05/07 10:14:30
>>270
表示するだけならこんなので動くと思うけど
web2console.py
----------------------------
#!/usr/bin/env python
import urllib
conn = urllib.urlopen("URLリンク(www.yahoo.co.jp))
data = conn.read()
print data
----------------------------
F2PY - Numerical Analysis with Python
URLリンク(scipy.dip.jp)
URLリンク(nihongo.homeip.net)
じぶんは fortran は使ったことないからよくわからないけど
fortran ともそれなりに相性も良いみたいだね…(正直よくわからん)
274:デフォルトの名無しさん
07/05/07 11:18:23
>>270
外人がg77でのやり方を解説しているページがある。
環境変数を使って変数のやり取りをしていた。
LINKがみつかんねーw
fortran cgi でググルと色々引っかかる。
275:274
07/05/07 11:24:19
>>270
ああごめん。
FORTRANでサーバー側のCGIを書くのかと思ったが逆か。
クライアントを書きたいのか。
Windows なら WinInet.Lib+Intel Visual Fortranでなら出来る。
Linuxでもその類のDLLをFortranから呼び出せば何とかなるのではないか?
276:デフォルトの名無しさん
07/05/08 13:33:07
【科学技術計算】C言語とFortran どっちがいい?
スレリンク(sim板)
629 名前:名無しさん@5周年[] 投稿日:2007/05/08(火) 07:49:36
FortranかCかなんて議論は馬鹿げているよ。
Fortranなんてもはや化石言語。
だから消去法でCを選ぶ他ない。
しかし君たち。
実はもっとも身近で簡単な科学計算用言語があるのだ。
それがExcelVBA。
答えは案外足元にあったわけだ。
いわゆる青い鳥ってやつだね。
(#^ω^)
277:デフォルトの名無しさん
07/05/08 21:42:56
fortranプログラムの作成依頼はこのスレでできますか?
278:デフォルトの名無しさん
07/05/08 23:37:48
>>277
くだすれFORTRAN(超初心者用)その2
スレリンク(tech板)
どちらかというと、こっちの方がやさしくしてくれるお
279:270
07/05/09 23:38:08
皆さんありがとう。
>>273
始め、pythonで「????」でしたが見ると便利ですね。
でもpythonのファイルIO知らないので調べてみます。
>>274
ええ、見る方です。でもcgi検索して見るとfortranでもcgi出来ますね。
FORTRAN(超初心者用)その2
でも聞いてみて良いのかな?
280:デフォルトの名無しさん
07/05/18 23:30:44
Visual Fortran 9 を使用されている方いますか?
購入を検討しているのですが,アクティベーションあるんかな?
281:デフォルトの名無しさん
07/05/19 00:48:26
>>280
ネット経由の認証も出来るし、ローカルでのライセンスファイルでの認証も出来る。
どちらかというとネット経由の認証へ移行したいと思っている節がある。
あと1年でライセンスは切れる。切れた後はインストールできない。再インストールも出来ない。
実行には問題ない。ただしバグフィックスは再インストールになるので出来ない。
うっかり消してしまうと、再インストールできない。
282:デフォルトの名無しさん
07/05/19 01:03:43
ライセンスって単年契約なんですか?恒久権利だと思ってた・・・やっぱり今のVisual Fortran 6使い続けようかなあ.
283:デフォルトの名無しさん
07/05/19 08:28:45
> 切れた後はインストールできない。再インストールも出来ない。
そんなことはない。
購入後、1年間の間にリリースされたマイナーバージョンアップまでは自由に使えるよ。
使えないのは、それ以降にリリースされた最新版とか、プレミアサポートとか。
284:デフォルトの名無しさん
07/05/19 13:01:56
ネット経由の認証がいるってことは,複数台のPCにインスコして同時に計算走らせるとかできないわけですよね?
(認証なくてもやっちゃだめなんだろうが)
結局この理由でofficeも2000,visual studioも6のまま・・・
Fortranも6でいいかー
285:デフォルトの名無しさん
07/05/19 14:30:29
>>284
契約したライセンス数を超えて(または契約した使用者以外が)「コンパイラ」を使うのはいけないが
コンパイルして出来た実行プログラムの方は配布が可能。
(評価版や非商用ライセンスの場合は別だが)
またそのプログラムの実行にIntelが定めた再配布可能ファイルが必要なら、それも含めて配布可能。
ちなみにシングル・ユーザー・ライセンスの場合、契約者個人が同時に1つしか使用しないのであれば
コンパイラを複数のPCにインストールすることも可能。
URLリンク(www.intel.com)
286:デフォルトの名無しさん
07/05/19 23:06:03
誰かeclipseを使ってフォートランのコンパイルしている人いませんか?
photranの使い方がわからなくて..
287:デフォルトの名無しさん
07/05/20 13:33:53
>>286
それをやろうとして、諦めたw
設定いろいろいじろうと思うとeclipseまで勉強しなきゃならなくて時間の無駄だと感じた。
設定できたら報告よろ!
288:デフォルトの名無しさん
07/06/09 00:09:26
空気読まずに言うけどフリーのリンク先にある
FTN77/95のインストール方法
URLリンク(www.coastal-env.k.u-tokyo.ac.jp)
95のインストール先とマニュアルの画面が全然違うのは仕様?
289:デフォルトの名無しさん
07/06/09 02:12:36
通りすがりの者だが・・・・
>>288
提供先がSalfortから関連会社のSilverFrostに移行したときに変わってしまったのさ。
290:デフォルトの名無しさん
07/06/09 17:02:26
>>286
fortranでeclipse使ってるとこってあるんかな?
fortranって科学技術系が多いし、他の一般業界の言語やコードに比べたらシンプルだからね・・
中にはviでガシガシの人もいるし
291:デフォルトの名無しさん
07/06/09 19:33:49
>>289
サンクス。
じゃあ、あの状態でFortran95をダウンロードするにはどうすれば……?
本来なら説明しているサイトに報告すべきだと思うけど、
SilverFrostでのダウンロード方法を知っている人がいたら教えてください。
292:デフォルトの名無しさん
07/06/09 19:55:34
>>291
>>141
293:デフォルトの名無しさん
07/06/11 10:43:46
>>292
サンクス。
上段のページからダウンロードして後、VisualStugio2003をインストールしてたから同じく2003でインストールしました。
あとは複数あるシステムの中で、Fortran教科書に載ってるプログラムを書いて実行するのに選ぶべきシステムとその方法さえわかれば……
294:デフォルトの名無しさん
07/06/13 22:07:13
Fortressについてどう思うよ?
295:デフォルトの名無しさん
07/06/13 23:23:23
オワタ
296:デフォルトの名無しさん
07/06/14 00:49:28
すいませんが、FORTRAN77で、二階非線形常微分方程式をルンゲ・クッタ法を使ってプログラムを組みたいのですが、
一階なら分かったのですが、高階になるとよくわかりませんorz
297:デフォルトの名無しさん
07/06/14 00:54:41
>>296
それはプログラムがわからないの?
それとも数学がわからないの?
298:デフォルトの名無しさん
07/06/14 23:34:11
>>296
ルンゲ喰ったなんて、数値計算の本の、頻出事項じゃんか。
図書館に行ったほうが2chに来るより効率的。
299:デフォルトの名無しさん
07/06/15 00:09:50
ルンゲ警部を喰っちゃうなんて・・・
300:デフォルトの名無しさん
07/06/15 10:39:29
ペッパーランチでペッパー警部に食われました(正笑
301:デフォルトの名無しさん
07/06/15 13:00:52
>>300
アッー?
302:デフォルトの名無しさん
07/07/07 05:25:58
FortranからLinuxのsystem関数を利用して出力したモノを
変数に納めたいのですが、どうすればよいのでしょうか?
例えば
call system('echo 2')
でa.outを実行すると正常に2が出力されるのですが、
その2を変数に代入しようと。
integer var
call system('echo 2',var)
のようにしてみたのですが、エラーになりました。
character型も試してみたのですが、やはりエラーになりました。
303:デフォルトの名無しさん
07/07/07 12:43:32
>>302
コンパイラなによ。
ま、マニュアル読んだほうが早いと思うけど。
304:デフォルトの名無しさん
07/07/07 13:22:12
>>302
call system('echo 2 > hoge.txt')
open(10, file='hoge.txt', status='OLD')
read(10,*) var
close(10,status='DELETE')
write(*,*) var
305:デフォルトの名無しさん
07/07/07 14:54:26
>>303
pgiコンパイラだそうです。
ちょっとマニュアル探してみます。
>>304
コンパイラの問題なのかDELETEのところがちょっとエラーでできなかったのですが。
close(10)としたら変数に2を入れることができました。
ありがとうございました
306:デフォルトの名無しさん
07/07/07 14:57:11
あ、すみません。
>>304でできました。
307:デフォルトの名無しさん
07/07/07 15:06:41
あと、System関数を利用せずに外部ファイルの行数を取得する方法ってありますか?
例えばhoge.txtの中身が
----------
apple
123 456
pie
----------
であれば、そのファイルの行数を読み取りinteger型の変数に3を
代入するという操作を行いたいのです。
もちろんSystem関数の利用でできたのですが、それだとプラットフォームが
Linuxに限られてしまうので、Fortranでファイルの処理を行うようにすれば
各種プラットフォーム上でも使えるソースになって便利だなと思いました。
この操作に限らず、Fortranでファイルを編集するための勉強はどのような
ところで勉強すればいいのでしょうか?
308:デフォルトの名無しさん
07/07/07 17:41:38
>>307
普通に空readでend of file が出るまでまわして、変数に一足していけばいい。
309:デフォルトの名無しさん
07/07/09 08:19:26
>>308
できました。
[Fortran]$ cat num_of_tmp
sfejoiwa
seflkew
sfepo pweko
wsefk
sefpowe posef
sdf s;ef
[Fortran]$ ./a.out
x = 8
ありがとうございました(><)
310:TESTちゅう
07/07/12 17:03:55
フィボナッチのプログラムが急ぎで必要です。だれか教えてください!!!
311:デフォルトの名無しさん
07/07/12 21:18:17
WRITE(*,*) 'N='
READ (*,*) N
DO 10 I=1,N
IF0=IF1
IF1=IF2
IF ( I.GT.2 ) THEN
IF2=IF1+IF0
ELSE
IF2 = 1
END IF
10 WRITE(*,*) I,IF2
STOP
END
312:デフォルトの名無しさん
07/07/17 22:54:57
Numerical Recipes の第3版が出るらしいな。
313:デフォルトの名無しさん
07/07/18 03:14:53
確かに本家の看板に出てるね
URLリンク(www.nr.com)
情報さんくす
314:デフォルトの名無しさん
07/07/18 03:17:27
↑ってC++がメインになってないか(笑)
微妙にスレちがいかも
315:デフォルトの名無しさん
07/07/18 23:37:05
>>314
ホントだ
裏切られた!www
怪しからん奈!
316:デフォルトの名無しさん
07/07/20 03:17:16
>>314
FORTRAN版は出す気あるのかな?
初版の非Fortran版はトランスレータにかけただけのような
gotoバリバリコードで出版していたのだから、無茶なFortranコードでも
著者は別に気にしないよなw
317:デフォルトの名無しさん
07/07/20 04:09:06
>>316
どうだろ?C++の機能をつかって実装しているようだから、
以前の FORTRAN -> それ以外の言語 の移植とは訳が違いそう
NRの2nd(1992)から3rd(2007)への以降に15年掛かっているね
たぶん3rdに取り組み始めた頃は、まだC++が輝いてたんだろ
複素数の取り扱いが、クソややこしいテンプレートになっていたり、
整合配列に問題があったりと、C++は数値計算に向いてない
c99の方がずっとマシ(ただし、こっちは対応コンパイラがPGIぐらいしか無い)
Fortran90かFORTRAN77のまま、アルゴリズムだけ進歩させた方が良かったと思うよ
NRのメリットは安い値段とソースコード付きってとこだったが、
C++のみになると、あんまりメリット感じないね C言語だとGSLとかあるしね
どうせ自由に配布できないんだったら NAG, IMSLの方がいいんじゃないか?
少なくとも漏れはNR 3rdイラネ
318:デフォルトの名無しさん
07/07/20 13:01:52
>>317
あれれ2版からも15年たってるのかよw
しかしアルゴリズムの進歩版とかのってはいないのかね?
第2版では、初版に無かったnon-numerical algorisms の章が一番役に立ったw
CRC16とかHuffman符号化とか、情報工学的なアルゴリズムが、数値計算との垣根を乗り越えてきた
タイミングだったのか。
319:デフォルトの名無しさん
07/07/20 23:48:31
今日本屋に行ったらこんな本があった。
Fortress言語―マルチコア時代の並列化プログラミング言語
もう出すのかよw
ざっと見た感じ糞本だったがw
320:デフォルトの名無しさん
07/07/22 12:21:50
まったく話を聞かないしなぁ>Fortress
スラドでも議論があったけど、将来も普及する見込みは厳しそうね
321:デフォルトの名無しさん
07/07/23 01:55:57
>>320
よく知らんが、SUNのマルチコアCPUに大量のスレッドをばら撒いて並列計算させるという
コンセプトの言語なんだろ?
アイデアとしては面白いんで内科医?
Haskellっぽい仕様も入れているらしいし、次世代の踏み台にwww
322:デフォルトの名無しさん
07/07/23 10:15:40
>>321
オープンにしたからSUNの石専用ってわけじゃないのでは?
確かに踏み台ぽいなw
323:デフォルトの名無しさん
07/07/23 23:44:19
Thoughts on Language Design
New challenges require new solutions
Guy L. Steele Jr.
URLリンク(www.ddj.com)
まぁ、それなりに考えがあってFortressを作っているようだ。
Sunがアメリカのスパコン助成から脱落したので、さいさきは暗いだろう。
日本(富士通)で拾う振りをして、アメリカに疑心暗鬼を起こさせるのが吉だと思うwwww
324:デフォルトの名無しさん
07/07/24 09:34:34
>日本(富士通)で拾う振りをして、アメリカに疑心暗鬼を起こさせる
スゲーwwww
策士っすねw
325:デフォルトの名無しさん
07/07/25 00:35:12
>>324
最近の最速スパコン競争は、なんか土建屋の既得権争いっぽいから、
釣りに走って遊ぶほうが、たしかにいい気がするw
326:デフォルトの名無しさん
07/08/12 22:19:24
「スカラ型とベクトル型を両輪に」,次世代スパコン構成の狙いを語る
URLリンク(techon.nikkeibp.co.jp)
327:デフォルトの名無しさん
07/08/13 21:56:30
>>326
53. 次世代、ペタスケール、T2K (2007/8/12)
URLリンク(grape.mtk.nao.ac.jp)
すっぱいぶどうの更新w
328:デフォルトの名無しさん
07/08/19 02:10:13
Cygwin上で動くfortran90コンパイラってありませんか?
すみませんが どなたか情報をお持ちでしたら教えて下さい。
329:デフォルトの名無しさん
07/08/19 18:45:37
>>328
以前
URLリンク(g95.sourceforge.net)
を試したら動いた
330:デフォルトの名無しさん
07/08/19 19:08:37
>>328
URLリンク(g95.sourceforge.net)
でも、なんでパッケージに入ってないんだろう?
331:デフォルトの名無しさん
07/08/19 20:03:47
CygwinのGCCが4.x.xになったらこっちが入るからじゃないかな
URLリンク(gcc.gnu.org)
332:デフォルトの名無しさん
07/08/19 20:17:52
>>329 - 330
ありがとうございまs。試してみます!
333:デフォルトの名無しさん
07/08/23 23:01:43
Steve Lionel のコラムで、FORTRANで書かれた(多分)世界初のアドベンチャーゲームネタが出ている。
URLリンク(softwareblogs.intel.com)
334:デフォルトの名無しさん
07/08/23 23:11:05
マジカヨ
335:デフォルトの名無しさん
07/08/30 23:10:18
Intel fortranて、バージョン10になってから、MKLがおまけで付いてくるようになったな。
MKL買った人カワイソス=おれ
336:デフォルトの名無しさん
07/08/30 23:28:08
おまけと言ってもMKL有りとなしじゃ、けっこう価格差が…
337:デフォルトの名無しさん
07/08/31 00:31:24
>>335
忘れたがMKLのライセンスからをコンパイラのライセンスに転換できて2個分になったんじゃ中田ッけ?
ガセだったら酢マンコw
338:335
07/08/31 01:05:11
9→10へのバージョンアップのときに、スタンダード版からプロフェッショナル版への変更が
安く(1万円くらい)できただけだった。いずれにしても、MKL単体で買って損した気分だ。
339:デフォルトの名無しさん
07/09/07 13:02:07
URLリンク(www.nag-j.co.jp)
NAGのcompiler IntelMac版登場 トライアルができる
340:デフォルトの名無しさん
07/09/08 21:10:14
intel fortran compiler for windows 9.0 を使用していて
URLリンク(icl.cs.utk.edu)
の手順に従いlapackとblasを導入しようとしてますが
1. C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\ に移動
2. set_environment.bat x86 Intel
と入力(Blasはデフォルトを使用)
4. nmake /nologo all
とすると
xilib.exe /OUT:"C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\blas.lib" *.obj
が実行されているときに次の旨の表示がでてうまくいきません。
"lib"を実行しています
"lib"がみつかりません
>>197
の slim に相当する形でxilibが使われているものだと思うんだけど、どう使用すればうまくいくのかわかりません。
ちなみにxilib に代えて xilink /lib を使っても同じです。
blas.lib lapack.lib を作るにはどうすればよいでしょうか?
341:デフォルトの名無しさん
07/09/09 13:51:43
質問です。
fortran95を使っているのですが
do i=1, size(A)
A(i) = hoge + i * fuga
end do
みたいのを
A = hoge + [なにか] * fuga
のようにして添字を配列演算に用いて一行にまとめられないのでしょうか?
それと
do i=1, size(A)
hoge = 複雑な式
A(i) = hoge * fuga
B(i) = hoge * piyo
end do
のような場合、
A = 複雑な式 * fuga
B = 複雑な式 * piyo
と書く事で二度計算されてしまうのは無駄ですし
式が長くなって読みづらいのですが、配列演算に対する一時変数のようなものは無いのでしょうか。
342:デフォルトの名無しさん
07/09/09 21:33:40
>>340
Visual Studioに含まれているlib.exe/link.exeへのパスが通ってない。
通常はset_environment.batから呼ばれている
"%IFORT_COMPILER91%\IA32\Bin\ifortVars.bat"
の中でVSへの設定も行われるはずだが
環境変数 IFORT_COMPILER91 はIVF9.1用の設定なので
IVF9.0なら IFORT_COMPILER90、10.0なら IFORT_COMPILER10
に変更する必要がある。
ifortVars.bat を実行してもlib.exe/link.exeが使えない場合は
ifortVars.bat を修正するか、予めVS中の VSVars32.bat か
VCVars32.bat を実行しておく必要がある。
343:デフォルトの名無しさん
07/09/09 23:48:01
>>341
A = hoge + (/(i,i=1,size(A))/) * fuga
344:デフォルトの名無しさん
07/09/10 17:01:44
>>343
ありがとうございます。こんな素直な方法があったんですね。
後者については今のところ難しいでしょうか。
あと配列演算に使える関数が作れるといいのですが、これも難しいですかね。
配列をもらって配列を返すようなタイプだと一次的に戻り値用の配列を確保しなくてはいけないので現実的ではないんです。
345:デフォルトの名無しさん
07/09/10 19:36:29
>>344
しかし>>343のようにやると、いったん暗黙のテンポラリ配列が生成されて
それから積が取られることになるので、DO LOOPの展開式とは等価ではない。
>あと配列演算に使える関数が作れるといいのですが、これも難しいですかね。
elementalだったかpureオプションつければ可能だった気がする。
調べてくれw
346:345
07/09/11 01:37:16
>>344
MODULE m_elemental
CONTAINS
ELEMENTAL REAL FUNCTION watson(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
watson = x**2
RETURN
END FUNCTION watson
END MODULE m_elemental
!
PROGRAM holmes
USE m_elemental
IMPLICIT NONE
INTEGER :: i
REAL :: x(10), y(10)
DO i = 1, 10
x(i) = REAL(i)
END DO
y = watson(x)
PRINT '(10f7.1)', x
PRINT '(10f7.1)', y
STOP
END PROGRAM holmes
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
1.0 4.0 9.0 16.0 25.0 36.0 49.0 64.0 81.0 100.0
Press any key to continue . . .
elemental ⊂ pure だったw
347:デフォルトの名無しさん
07/09/13 12:33:44
>>345
試してみましたが確かにテンポラリ配列作られてますね。
elementalは便利ですね。ありがとうございました。
348:デフォルトの名無しさん
07/09/13 19:16:35
>>347
a(1:n) とか部分配列の類もテンポラリを作ることが多いので、
ソースコードが短くなるからと調子に乗って、DO LOOPの代わりに乱用すると、
思わぬところでスタックオーバーフローとかで憤死する。
ベクトル機の場合は一旦テンポラリ配列に展開したほうが早くなるだろうが、
パイプラインのスカラー機の場合はDO LOOPのままの方が早いのではないかと思う。
まぁ勝手に最適化するかも知れんし、トレードオフが色々あるので、なんとも胃炎が。
349:デフォルトの名無しさん
07/09/18 15:26:34
age
350:デフォルトの名無しさん
07/09/18 22:17:04
ageも満足にできんのか!!
351:デフォルトの名無しさん
07/09/21 00:26:58
intel Visual fortran 10.0 日本語版 発売
352:デフォルトの名無しさん
07/09/21 01:08:09
「日本語版」つーてもFortranの場合、コンパイラのメッセージは英語のままだからありがたみがないなぁ。
日本語マニュアルは別途ダウンロードできるし。
353:デフォルトの名無しさん
07/09/21 23:56:06
質問です。
fortran77を使っているのですが、コンパイラ時にはノーエラーで、実行のときランタイムエラーと表示されるのですが、
WARNING - Label 170 has not been referenced
NO ERRORS,1 WARNINGS [<MAIN@>FTN77 Ver 4.03]
Creating executable: sinchouryuu.exe
*** Unable to create executable file: sinchouryuu.exe
実行可能なファイルの作り方を教えて下さい。
あと、実行時のエラーの
00401000 MAIN# [+174f]
て書いてあるのですが、どういう意味でしょうか?
因みに170行は
166:* cnbの転置行列
167:
168: do 70 j=1,10
169: do 80 i=1,6
170:
171: cbn(j,i)=cnb(i,j)
172:
173: 80 continue
174: 70 continue
こんなんなんです。
354:デフォルトの名無しさん
07/09/22 00:01:51
ヤコビアン行列がつくれません!!
どういった風に作るのか、作り方をどなたかおしえてください!
355:デフォルトの名無しさん
07/09/22 21:55:29
>>353
>fortran77を使っているのですが
それは「規格の種類」であってこの場合、それよりも使用しているコンパイラや
OSの名前を書いてくれた方がありがたい。
> WARNING - Label 170 has not been referenced
「170行」ではなく文番号の170が参照されていない。
> *** Unable to create executable file: sinchouryuu.exe
> 実行可能なファイルの作り方を教えて下さい。
おそらくsinchouryuu.exeを実行中で書き換えられないのだろう。
すべてのsinchouryuu.exeを終了させてからコンパイルするのだ。
> 00401000 MAIN# [+174f]
> て書いてあるのですが、どういう意味でしょうか?
MAIN#(プログラムの開始位置)から 5919バイト目の位置でエラーが発生した。
エラーの種類はFTN77の場合、ダイアログの上の方に書いてある。
>>354
つ google
356:デフォルトの名無しさん
07/10/16 01:37:18
FTN95をインストールしました。
plato3(日本語不使用)でコンパイル実行可能でした
↓
fcpadを利用しては出来ないですか?
コンパイラパス
C:\Program Files\Silverfrost\FTN95\ftn95.exe
と入力
*** Invalid executable file suffix - only .EXE is permitted
とでてコンパイルできない。
秀丸でマクロを使おうかと思いきや、
PATHが通らず失敗。
誰か、ご指導願います・・・。
357:デフォルトの名無しさん
07/10/16 02:17:02
>>356
くだすれFORTRAN(超初心者用)その2
スレリンク(tech板:355番)
358:デフォルトの名無しさん
07/10/23 23:51:02
Intel Visual Fortranで/Qparallelを使って並列化したところ、
あまり高速化しませんでした。プログラムによってはむしろ遅くなることも。
サポートに問い合わせたら、こちらでも2コアでは確かにスピードダウンが
確認できましたが、4コアではスピードアップが確認できました、と回答。
まるでリフォーム詐欺のようだ・・・
単純な行列×ベクトルのみの計算でも最大30%アップ程度なのだが
並列計算ってそんなものですか?
359:デフォルトの名無しさん
07/10/24 01:28:55
マシンの構成によるし・・・
QuadコアなCPU?
360:デフォルトの名無しさん
07/10/24 01:48:48
>>358
自動並列化は、そんなもんだよ。スパコンでも同じ。
まぁ並列化よりSSEの方が簡単に簡単にスピードが出るようになる。
361:デフォルトの名無しさん
07/10/24 03:04:44
SSEは適当に-O3とかするだけでも有効になるはず(多分
Qparallelって要するに自動でOpenMPディレクティブ入れてるだけだよね?
最近のOpenMPはどうなんだろう・・・古い古いとよく言われるけど、今後のマルチコアCPUで通用しなくなるのだろうか
362:デフォルトの名無しさん
07/10/24 09:34:52
>>360
行列積とか素朴な演算ならSSEを入れれば単精度は4倍速、倍精度は2倍速とか、素直に早くなる。
コンパイル時のメッセージにベクトル化云々と出ればSSE使ってる。
363:358
07/10/24 11:02:26
ありがとうございます。
現在はOpteron1210(DualCore)を使っています。
インテルからはまるでQuadCoreのCPUを買えというような回答だったので、
詐欺商法のように聞こえました。
SSEは使っています。
CPUのクロック数があがらなくなった現在では並列計算にしないと
スピードアップが望めなくなると思い、並列を検討しています。
自分の勉強不足も大きいのですが、誇大広告にがっかりです。
364:デフォルトの名無しさん
07/10/24 11:20:56
Intelのサポートに聞いたの?
こういうのって大抵まともな(役に立つ)回答は期待できないものでは?
MSよりはマシだけど・・・
結局ググるなり2chなりどっかのコミュニティなりで探すしかないんだよね
365:358
07/10/24 12:58:59
>>364
バージョンアップ込みで年間数万円(いくらか忘れた)のサポート料を払っているので、
使ってみたのですが、本当にがっかりです。
サポート料金を10倍にしてもいいので、まともな回答を期待したいです。
ググってますがなかなかいい情報が出てこないです。
私の最高は3割増が最高で、実務的な計算ではほとんど役に立ちません。
あれこれ考えている間に、時間をかけて計算したほうがいいのかと思えてきました。
366:デフォルトの名無しさん
07/10/24 12:59:13
>>363
いや詐欺ではない。
既存プログラムを自動並列化して場合、スピードダウンするのはごく普通の現象。
はじめから並列化を前提に設計して、かつ指示行を入れまくってもいまいちなのは、実は常識だw
367:デフォルトの名無しさん
07/10/24 15:53:27
>>365
スレ違いな話だけど、本気のガチンコサポートをするなら商売する側としては10倍でもペイしないと思うけどね・・・
そこはしょうがないっすよ
368:358
07/10/24 16:19:19
日本語がおかしかった。失礼しました。
>>367
あるソフトベンダーは年間140万円のサポートでいたれりつくせり。
(何が原因でしょうね?と問い合わせたら修正されてかえってくる)
そこは最優先でサポートを継続している。
別の40万円のところは、それなりだけど解決のヒントはくれる。
(これらは言語ではなくてアプリケーションですが)
VisualFORTRANは「開発に問い合わせます」のまま放置・・・。
ただ、今回の件については決して特殊な質問ではなく
広告にうたってある性能が出ないよに始まり、
そちらのもっている理想的なプログラムでいいから出してくれといっても
出てこない。いったいどんな質問だったら答えることができるのだろう。
369:デフォルトの名無しさん
07/10/24 19:20:01
>>368
言語のサポートの場合、コンパイラのバグに対する対応の早さだと思う。
そういう点でIntelはパッチの出方は早い。
あとサポート掲示板には、様々なレベルの質問が出ているのでこっちも見てみたらいいかも。
URLリンク(softwarecommunity.intel.com)
370:デフォルトの名無しさん
07/10/25 20:49:16
NEC:世界最高性能のスパコン「SX-9」を発売
NECは25日、世界最高レベルの計算能力を持つスーパーコンピューター「SX-9」を開発し、
発売を始めたと発表した。1秒160億回の計算能力を持ち、最大限の512台を連結して運用し
た場合、1秒839兆回の計算が可能なシステムが完成する。
新開発の高性能CPU(中央演算処理装置)を搭載した。国内外の大学や研究機関などが、
気象予測やロケットの設計、核融合のシミュレーションなどに利用することを想定している。
価格は1億5000万円。
現在の世界最速のコンピューターシステムは米IBMが開発し、秒間280兆回の計算ができる。
NECは、10年の完成を目指す世界最速スパコンの開発計画を、日立製作所や富士通と進めて
いる。
URLリンク(mainichi.jp)
371:デフォルトの名無しさん
07/11/02 00:54:14
プレステ3用FORTRANが動くようになった?
URLリンク(www.ibm.com)
URLリンク(cell.fixstars.com)
372:デフォルトの名無しさん
07/11/02 13:20:39
このままPS2クラスタのようにお遊びで終わるのかと思ったが、そうでもないのか・・?
でも低価格の普及ゲーム機を使えるってのがそもそものウリなんだから、今のXboxやwiiに苦戦してる状況じゃ厳しいんじゃないか?
373:デフォルトの名無しさん
07/11/02 23:44:01
東北大学が NEC の世界最速スパコン「SX-9」16台導入へ
著者: japan.internet.com 編集部 プリンター用 記事を転送
NEC は1日、東北大学情報シナジー機構情報シナジーセンターから、世界最速の
ベクトル型スーパーコンピュータ「SX シリーズ モデル SX-9」16台からなる大規模
スーパーコンピュータシステムを受注したことを発表した。新システムは、最大性能
26.2テラフロップス(テラフロップス:1秒間に1兆回の浮動小数点演算能力)に達し、
SX シリーズでは国内最大規模のシステムになるという。
同センターは、全国の大学や研究機関の研究者が利用する共同施設として、常に
最高・最新鋭の計算機システムを設置し、航空宇宙、地球環境、IT、ナノテク分野など
最先端の学術研究を支援。他では実行できない大規模シミュレーションの実行環境の
整備、専門的立場からの利用者プログラムの高速化推進を積極的に行い、長年研究者
にとって使い勝手の良いシステムが構築されている。現在、センターの利用者は学内外で1,500人を超えるという。
同センターは、その前身である大型計算機センターが1986年に SX シリーズを導入して以来、
ベクトル型スーパーコンピュータを採用している。
URLリンク(japan.internet.com)
374:デフォルトの名無しさん
07/11/06 14:00:01
阪大は10ノードらしい。
URLリンク(opentechpress.jp)
375:デフォルトの名無しさん
07/11/06 23:51:09
>>374
阪大センターはハッカーにやられてから、セキュリティーが強化されすぎて
使いにくくなったって知り合いが言ってたなー。
数年前のことだが。
376:デフォルトの名無しさん
07/11/23 16:54:32
休みだし、何か新しいネタを出してくれ。
377:デフォルトの名無しさん
07/11/23 17:13:22
暇ならFortran2003の処理系作ってくれ。
378:デフォルトの名無しさん
07/11/29 13:22:06
━━━━━━━━━━━━━━━━━━
日本ニューメリカルアルゴリズムズグループ株式会社
LAPACKサンプルプログラム集を公開開始
LAPACKの利用がより身近に!
━━━━━━━━━━━━━━━━━━
日本ニューメリカルアルゴリズムズグループ株式会社(東京都中央区、以下
日本NAG)は、netlibにより公開されている線形代数パッケージ「LAPACK」の
サンプルプログラム集を公開いたします。これによりLAPACKを利用するユーザ
プログラムの開発が、よりスピーディーに行えるようになります。
公開URL:URLリンク(www.nag-j.co.jp)
また、日本ニューメリカルアルゴリズムズグループ株式会社ではより高性能な
LAPACKを、NAGライブラリ製品(NAG Fortran SMP Library)と共に提供してい
ます。
■ LAPACKについて
LAPACKはLinear Algebra PACKageの略で、netlib(URLリンク(www.netlib.org))
により公開されている高性能線形代数パッケージです。(日本語ではエルエー
パック、もしくはレイパックと発音されます)連立一次方程式、最少二乗問題
固有値問題、特異値問題を解くためのサブルーチンが含まれています。
■ NAG Fortran SMP Libraryについて
1500以上のサブルーチンから構成される並列科学技術、統計計算ライブラリ
です。1500のサブルーチンの中には並列化済みのLAPACKルーチンも数多く含ま
れており、LAPACKを利用するプログラムを1行も変更することなく、性能を
更に高めることが可能です。
379:デフォルトの名無しさん
07/12/06 03:09:49
初心者で最小二乗法のプログラムが組めないんですがどうすればいいんでしょうか?
380:デフォルトの名無しさん
07/12/06 10:03:56
>>379
図書館へ行って、データ処理の本を読むんだ!
381:デフォルトの名無しさん
07/12/06 19:03:50
データ読み込んでΣ求めて公式通り計算すればおk
382:デフォルトの名無しさん
07/12/07 22:27:07
>>379
いますぐ俺の口座に3000円振り込むんだ!
383:デフォルトの名無しさん
07/12/09 12:57:37
最小二乗法くらいならいくらでも転がってるだろ・・・
384:デフォルトの名無しさん
07/12/12 20:46:38
コンパイルはできたのですが、こんなメッセージが出てきて
途中で止まってしまいます。
Runtime error from program:c:\users\○○○○\documents\fortran\traje_0point.exe
Unknown floating point exception 91a1
Floating point co-processor fault at address 00401ef8
00401ad0 GOENTR [+0428]
00401000 main [+059c]
eax=00000b77 ebx=00000096 ecx=00000000
edx=0365fc38 esi=0365fcdc edi=0365fcd8
ebp=0365fc94 esp=0365fbd8 IOPL=0
ds=0023 es=0023 fs=003b
gs=0000 cs=001b ss=0023
flgs=00010206 [NC EP NZ SN DN NV]
00401ef8 fsqrt
00401efa fmulp st(1)
00401efc fmul [0044a2c0]
誰かこのエラーの意味ならびに解決策をご教授していただけないでしょうか?
ちなみに○○○○のところは私の名前が入ってるので、伏せておきました。