09/11/06 11:19:25
>>680
ASCIIコードを使ってるのは、ミニコンとかWSとかパソコンとかしょぼいマシンだけだったんだよ。
F90の規格に、やたらと固有文字コードとASCIIコード変換とかあるのはそのため。
小文字が端末から使えないことも多かったし。
数値フォーマットもバラバラだったから、数値の基数や有効ビット数を尋ねる関数もそろってる。
683:デフォルトの名無しさん
09/11/06 12:09:53
>>682
System/360にもASCIIとの切り替えスイッチは付いてたんだけどなw
684:デフォルトの名無しさん
09/11/06 12:19:22
>>683
そうなのかwww
685:デフォルトの名無しさん
09/11/07 02:57:41
ぱっとキーボードをみて・・・必須なのは
0-9 A-Z .,()=+-*/'
だけか。見落としなければ46文字。Spaceが必須でないところがなんともイカす。
使われる文字数が少ないのはパンチカード時代があるからだろうな。
Viで編集しやすいわけだw
686:デフォルトの名無しさん
09/11/07 08:52:27
C言語だってパンチカード時代に設計されたんだよ
scanf()なんてあれはパンチカード時代の名残
とにかくタイプ量を減らしたくて多くの予約語を演算子に変えた
687:デフォルトの名無しさん
09/11/07 10:01:38
それは違う。printfやscanfは、Fortran用のランタイムルーチンを流用したなごり。
C言語の発祥は主にミニコン文化圏で、パンチカードじゃなく、紙テープとテレタイプが主流。
記号だってEBCDICにないものを多用するし(そのせいでトライグラフなんてものも
できたりしたがw)
688:デフォルトの名無しさん
09/11/09 03:54:20
creat(笑)
689:デフォルトの名無しさん
09/11/09 09:36:45
>>685
機能の代替がない、という点では:の添字範囲指定もかな、ってあれ
1以外から範囲指定可なのはF77でも出来たっけ?
690:デフォルトの名無しさん
09/11/09 09:37:57
標準の機能として、という意味ね。
691:デフォルトの名無しさん
09/11/09 23:59:27
>>689
77では配列の宣言のところだけだったか、文字列では部分文字列の指定に使えた。
あとフォーマットでもコロンが使えたはず。
692:デフォルトの名無しさん
09/11/11 02:45:21
character*7 mojiretu
mojiretu = 'smtwtfs'
write(*,*) mojiretu
mojiretu(2:6) = 'sssss'
write(*,*) mojiretu
みたいな使い方の事だね。規格が30年くらい前だけど、その後のベクトル表現の匂いがする。
そういう文字列取扱いの需要があったからだろうけど、先をいってたんだな・・・たぶん。
フォーマット中の例が思いつかなかった。
693:デフォルトの名無しさん
09/11/30 16:44:28
今後GPGPU系のスパコンが主流になってきたら、いっそCに乗り換えたほうがいいのかな・・・
もうしばらくは様子見だけど
そういえば、CUDAが徐々にFortranに対応してきてるようだけど、使ってる人いる?
694:デフォルトの名無しさん
09/12/01 00:04:39
>>693
PGI が CUDA 対応 Fortran2003 を出荷し始めたみたいだけど、誰か使ってないのかな?
GPGPU も昔のアレイプロセッサとよく似ているから、すぐ廃れて終わるとか言う話も聞いて
なんなんだかなーw
695:デフォルトの名無しさん
09/12/01 21:46:47
PGI頑張ってるよな
まぁ、うまくいけばIntelの二番煎じなポジションから脱却できるしな
696:デフォルトの名無しさん
09/12/14 01:04:11
フォートランを研究室で指定されて使おうとしてるんですけど
>>2の
URLリンク(www.salfordsoftware.co.uk)
のどこからダウンロードするのかみつからないんですけど教えてくれますか?お願いします
697:696
09/12/14 01:05:55
間違えました
すみません
698:デフォルトの名無しさん
09/12/17 14:58:51
URLリンク(www.ftc.gov)
Intel secretly redesigned key software, known as a compiler,
in a way that deliberately stunted the performance of competitors’CPU chips.
だってさ
699:デフォルトの名無しさん
09/12/18 00:24:24
いろいろ考えるもんだねー
700:デフォルトの名無しさん
09/12/18 22:51:01
Fujitsu製Fortran&C Package Windows版が製造・発売中止となったため、
今後Windows XPの提供が終了すると新しいPCに使用出来なくなるので
新たなコンパイラーと数値計算ライブラリを探しています。
どなたかお勧めのメーカを教えてください。
条件は、Windows Vista & 7上で動作するコンパイラーとライブラリで
リーズナブルなもの。
パソコンは私1人で70台くらい使っています。
(Fujitsu製のライセンスは使用する人数にかかり、
PCの台数には関係なかったので重宝していたのですが。)
よろしくお願いします。
701:デフォルトの名無しさん
09/12/18 23:31:05
富士通がPC用Fortranやめるなら、OEMやってるアメリカのLaheyはどうすんだろ?
702:デフォルトの名無しさん
09/12/19 15:46:30
>>698
HPCが盛んになりつつある時代にこんなことやってたら
某機関に目を付けられて即死なんじゃw
703:デフォルトの名無しさん
09/12/20 05:34:39
某機関とは話をつけてからやらかしたのではw
704:デフォルトの名無しさん
09/12/21 18:27:54
FORTRAN使いなんかホントにいるのかいな・・・
705:デフォルトの名無しさん
09/12/22 10:23:48
cygwin、MPICH2でCompaq Visual fortran 6.6 を動作させる方法があれば教えてください。
MPICHのインストール時に set F90=~/Microsoft Visual Studio/DF98/Bin/f90
としてみたのですが、認識しませんでした。
706:デフォルトの名無しさん
09/12/26 10:50:24
あっそう
707:デフォルトの名無しさん
10/03/28 18:31:28
今,Intel Visual Fortran と PGI Visual Fortran のどちらを買おうか迷っています。
皆さんのお勧めはどちらですか?
実行速度とか,GPGPUとか,並列化とか,Visual Studio 2008 に統合してコーディングしているときの
使い勝手の良さとか,コンパイラの厳密さとか(← 変数宣言部で配列を a(3) と宣言しているのに,
実行部で a(4) = 1 と書いたとき,IVF のコンパイラはエラーを出してくれたけど,PVF のほうは
エラーなしでコンパイルが成功してしまった),その他色々な面でどうでしょう。
708:デフォルトの名無しさん
10/03/28 21:32:36
個人的には PGI はあまり信用していない
つか、Windows 環境で Fortran が信用できていない
# Intel は, まぁ, ましな部類だと思う
709:デフォルトの名無しさん
10/03/29 00:21:06
>>707
>実行部で a(4) = 1 と書いたとき,IVF のコンパイラはエラーを出してくれたけど,PVF のほうは
>エラーなしでコンパイルが成功してしまった),その他色々な面でどうでしょう。
66時代は整合配列が未整備だったので、サブルーチンとかの先では配列サイズを適当に固定して
はみ出して使うことがよくあった。歴史的事情から一概にエラーにするわけにもいかんのよ。
コンパイラのオプションとかで厳格な判断ができるはずだと思うから、調べてみてちょ。
IntelFortranにも90,95,2003毎の規格違反警告オプションが有る。
そういえば最近のPGI Fortranは米国大学研究機関に所属であれば、Win用が無償で使えたような?
キャンペーンはもう終わったかもしれないが。
710:デフォルトの名無しさん
10/03/29 03:32:41
IVF って GPGPU ができるのですか?
711:デフォルトの名無しさん
10/03/29 12:08:17
>>710
できない。
CUDAのAPIをCALLするという意味でならできなくも無い。
Fortranのラッパーを書くオープンソースなプロジェクトが動いていたはず。
GPU側で実行する部分は無論Cで用意するのだとおもうが。
712:707, 710
10/03/29 21:38:52
>>708-709 >>711
レスありがとうございました。参考になりました。
713:デフォルトの名無しさん
10/03/30 03:50:29
>>707 コンパイラの厳密さとか(← 変数宣言部で配列を a(3) と宣言しているのに,実行部で a(4) = 1
インテルのは添字範囲チェックが甘いよね。柔軟ともいえるけど・・・。
コンパイル時の警告のよさ?では gfortran -Wall あたりがいちばんかなぁ
以前はDEC系でいいのがあったんだけどね。さすがに今では。
714:デフォルトの名無しさん
10/03/31 06:17:02
(メイン階層で)
real a(10)
call hoge(a)
subroutine hoge(a)
real a(2)
a(10) = 1.0
というのがあって、スルーする大人がインテル。実際メイン階層では配列a(10)の内容に問題ないわけだ。
文句いうのがGfortranやFujitsuやPGIやIBMやNEC
715:デフォルトの名無しさん
10/03/31 16:56:36
>>714
そのsubroutineはモジュールじゃない、普通の外部サブルーチンという前提だよね
a(11)=1.0をやるとエラーになる?
716:デフォルトの名無しさん
10/04/01 02:37:19
>>715
そ、ただのSubroutine.
Module は値の追跡が面倒臭いし、コンパイル時に順番が関係するし、
Commonと同じような奇妙な振舞をする事もあるので自分では使わない。なれると便利らしいけどね。
a(11)=1.0
そのものにたいしては、コンパイル・実行時ともに文句をいわなかった。(以下ぜんぶIntel.他のはしらない)。
でも実行時にはcall hoge()のあとに a 以外の変数が壊れたりw、 hoge() 内で Invalid なんたららが
でたり・・コンパイルオプションでも変わる。何事もなかったかのように実行終了することもあるw
Intel Fortran は速度的には良いコンパイラだとおもうけど、
開発中に使うには危険な香りがするのでふだんはgfortran。
Intel のでも Visual がつく方はまだいいのかなあ? HPはもうDEC系譜のFortranは終了だよね。
717:デフォルトの名無しさん
10/04/01 11:50:28
>>716
MODULEつかえよw
型チェックとか便利だろ。
場合によっては最適化度もあがるはず。
まぁカスケード型のリコンパイルの嵐が起きるのがウザイのはわかるが、
あれもF2008でSUBMODULEが導入されてなんとかなる。
718:デフォルトの名無しさん
10/04/01 13:34:16
2008興味あるけど、使ってる人が周りに誰もいない・・・
というかググってもあんま情報ない気が
どこで勉強すればいいの?
719:デフォルトの名無しさん
10/04/01 14:28:48
716 の添字範囲うっかりさんはIntelだけの話ね。
他のはコンパイルエラーでそれ以上進めなかったから。
>>717
ある程度なれてマイModuleつくるともう戻れないくらいイイらしいね。
麻薬のようにもう抜けれなくなる、わけではないのだろうけどw
でも不慣れなときにコンパイルするだけにかなりもがいた
つらい経験をしてしまったので敬遠中。でもそのうち使うと思うよ!
>>718
F2008って規格の部分だけでも読めないのかな?
ベンダが対応するとかしないと商業レベルの本は出ないと思うので
(出ても日本語のがでるのかはあやしいが)せめて予習wくらいはしておきたい。
720:デフォルトの名無しさん
10/04/01 16:57:44
>>719
初心者だけど動的割付配列のためにモジュール使ってます
やっぱりコンパイルエラーやらは多いですね
721:デフォルトの名無しさん
10/04/02 01:32:14
>>718
それはたぶんF2003。
まだ完全対応コンパイラがCRAYしか出してない。
勉強の手始めは、PDF直リンだが
URLリンク(www.itscj.ipsj.or.jp)
The New Features of Fortran 2003
URLリンク(www.ipc.bas.bg)
F2003は英文なら、なんぼか教科書もではじめている。しかし2003部分は1章程度だったりでいまいち。
F2008は
The new features of Fortran 2008
fURLリンク(ftp.nag.co.uk)
こっちはまだ規格の最終ドラフトができた段階で、正式規格ではない。最終ドラフトはただで見れる。
ここで↓
ISO規格の議論をしている本家
URLリンク(www.nag.co.uk)
722:デフォルトの名無しさん
10/04/02 08:05:25
ナグさんちが本家なのか
723:デフォルトの名無しさん
10/04/02 09:13:00
NAGが本家なのかよw
724:デフォルトの名無しさん
10/04/02 10:58:31
本家っつっても書記だけど、まぁ議事録的情報はここに集約されてるな。
725:デフォルトの名無しさん
10/04/02 12:15:07
softekみたいなもんか?w
726:デフォルトの名無しさん
10/04/06 06:01:13
教えて頂きたいのですが、
2次元配列の一部分だけをサブルーチンに送った場合、その部分的な要素だけを
繋げた別の配列が一時的に作られて処理をされるのでしょうか?
例えば、主プログラム冒頭で
integer :: x(10 , 20)
とした場合、メモリ上に10 * 20 の配列が出来ますよね?
これを call hoge( x(3:8 , 12:19) , ... ) とすると、
6 * 8 の一時的な x’ が別途メモリ上に作られたうえで
それがサブルーチンへ送られるのでしょうか?
膨大な配列を扱うので、なるべく効率的なプログラムを書きたいのです.
勉強し始めの者なので、トンチンカンなことを言っていたら恐縮です...
727:デフォルトの名無しさん
10/04/06 10:22:37
>>726
そういう連続していないのはcopy in - copy outで中間のテンポラリ配列が暗黙に作られる。
一次元に還元したときに連続している場合は、コピーを作るかどうかは場合によると思う。
728:デフォルトの名無しさん
10/04/06 17:30:33
データがシーケンシャルだって指示するオプションあったような?
いずれにしても、call hoge( x(3:8 , 12:19) , ... ) だと「一次元に還元したときに連続」していないから、コピーは避けられないだろうな
729:デフォルトの名無しさん
10/04/06 17:55:20
うひょー!Fortran!!11
730:デフォルトの名無しさん
10/04/06 18:10:43
Fortran2011の策定が始まったのかと思った
紛らわしいぞw>>729
731:726
10/04/07 07:28:05
>>727, 728
なるほど。どうもありがとうございます。
余計なメモリを消費させないためには、
call hoge( x(3:8 , 12:19) , ... ) は避け、
call hoge2( x, 3, 8, 12, 19, ...) などとして、サブルーチンへは x のまま渡して
実際に操作したい配列要素番号も別に指定するといった方法が良いって理解でよいでしょうか
もう一点質問があるのですが、
call hoge2( x, ... ) と call hoge2( x(:), ... ) は全く同じものでしょうか?
コンパイラーによりけりですか?
732:デフォルトの名無しさん
10/04/07 19:52:50
>>731
あくまで自分の理解だけど
>理解でよいでしょうか
yes
>全く同じものでしょうか?
yes
733:デフォルトの名無しさん
10/04/08 00:15:00
はとやまwwwwwwwww
天然バカwwww
734:733
10/04/08 00:16:10
すまん、笑いすぎて、誤爆したwwwwww
★「政治家がばかでは国もたぬ」=公務員研修の訓示で鳩山首相
・鳩山由紀夫首相は7日の国家公務員合同初任研修開講式で訓示し、入省したばかりの
新人を鼓舞したが、その中で「政治家がばか者の集団では(国は)もたない」などと
脱線気味に発言する場面があった。
首相は弟である鳩山邦夫元総務相が政治家を志した際、大蔵事務次官を経て
政界入りした父威一郎元外相が「政治家なんてものは物ごいをする情けないばか者だ」と
反対した話を紹介。「父親は役人だったことに誇りを感じていた」と語る一方で、
「トップの首相が大ばか者であれば、そんな国がもつわけがない」と繰り返した。
首相としては、政治主導への決意を示しつつ鳩山内閣の優秀さを強調したかったようだが、
指導力不足や自らの発言をめぐる迷走が指摘されているだけに、新人公務員も複雑な
表情だった。
URLリンク(www.jiji.com)
735:デフォルトの名無しさん
10/04/08 08:05:38
スレタイも読めないバカ
736:デフォルトの名無しさん
10/04/08 11:25:29
>>735
鳩山さんこそスレタイ見てください。
737:デフォルトの名無しさん
10/04/08 17:04:56
>>736
バカ
738:デフォルトの名無しさん
10/04/09 23:07:01
このスレ2000でも90でも77でも66でもなく、未だにIVかよ。
739:デフォルトの名無しさん
10/04/17 01:15:02
LOOPY = 737
PRINT *, LOOPY
END