今日から仕事はじめです。
はじめっから飛ばしています。
ちょっと新しいロジックをいじるのに、色々とアルゴリズムを考えるのが面倒なので、Fortran90の今まで使ったことない関数やらを使ってみました。
Fortran90になって色々と関数とかが増えているからなぁ。文字関数については知っていたけど、ビット演算関数とか配列についての関数も増強されていたんだ。
以前だったら、特定のビットを抽出しようとしたら、マスクを作ってアンドを取るぐらいだったのが、btest(i,pos)で変数iのposビット目の結果をロジカルで返してくれるから、この結果をifにかませてやれば分岐できる。へー。
元々、Fortran90は配列演算も強力なのですね。
例えば、real*8:: a(2,3) で宣言された配列に対して、a=2.d0とすれば全部の要素に2.d0の値が代入されるし。
一部分だけに代入することもできますね。
例えば、a(1:2,2)=2.d0 とすると、a(1,2),a(2,2)にだけ2.d0が設定されます。
同じ次元の配列同士だったら、a=bとかa=b-cみたいにすることで、それぞれの要素同士の演算が一発でできるようになっているという。
まぁ、まさに計算に特化した言語ですよねぇ。
で、ちょっと飛ばしすぎてるかなぁ。
以前のグループ未完のメンバーのひとりから連絡があって、新刊を計画することになりました。
まだ発行時期などは未定ですが、本は出せそう。
さすがに、直近の即売会には無理そうですが ^^;;
やっぱり新刊があった方が活気付きますからね。