2010-04-01から1ヶ月間の記事一覧
Loopyのイメージ画像 クルクルパーなルーピー鳩山は辞職せよ!
Fortran2003では、Array操作がさらに柔軟になっています。ALLOCATABLEな配列を返り値とする関数と、ALLOCATABLE配列の自動再割付が、色々と危険なんですが、便利です。これらの新機能により、APPENDやCONSのような配列長の変わる操作が簡単に実現できます。M…
コラッツ数列を10**8まで計算してみました。すべて1に収束して停止しました。最長の数列は、初期値63,728,127で950個の数列となりました。10**5を超えると32bit整数では桁あふれが起こるので、64bit整数を用いる必要があります。 ■ソース・コード MODULE m_…
Haskellのプログラムを参考にCollatz問題のプログラムを書いてみました。 Fortran2003のREALLOCATE機能を使うことで、配列生成子を使うことで、配列をリストの代用とし、再帰を使って自動で伸ばしてゆきます。Collatz問題とは何かは、詳しくはここを見てくだ…
Fortranで、関数合成 f(g(x)) = f.g (x) のような記述ができないかと思ったんですが難しい。 .op.型の自己定義演算子は、関数引数の場合は出来ないし。関数ポインタの配列も出来ないのでまだいい考えが浮かびません。 適当にテストのメモ帳。 Fortranではポ…