piyopiyo diary

幸せまで五十歩百歩。

3 Feb 2011 晴れ

午前中、筑波大で勉強会。 この間のDFTの続きで、time dependentな場合について。 わかりやすい解説だったけど、実装についてはまだイメージが湧かないので、もう少し勉強してみたい。時間があれば....

午後は打ち合わせと、ひたすらデータの移動とサーバの移動。 1週間ほど眠らせるネットワークに置いてあるサーバなのだけど、コード開発に使いたいので、自分の部屋に運んだ。 かなりファンがうるさいので机の下に置き直したのだが、それでも結構な音だ。 必要な時だけ電源を入れよう。


共同研究者のIさんと、Iさんのコードのバグについての議論。 私のFortranコードを下敷きにして、新しい機能を組み込んでいたのだけど、問題のバグは私が仕込んでおいた罠だった! (もちろん悪意は無い。) IMPLICIT NONE (大文字なあたりが古風だ....)を使わないので、I,J,K,L,M,Nで始まる変数はINTEGERとしてコンパイルされるのだが、それをREAL*8のつもりで使ってたのが原因。 昨日も見たのに、C++ボケしていて気づかなかった。

一応、このスタイルにも理由があるのを思い出した。 昔々、メモリの制限がきつかった頃に、REAL*4にせざるを得ない計算機のため、REAL*4とREAL*8を簡単に切り替える仕組みを考えた。 それがこのIMPLICITを使うやり方で、それなりに便利だった。 しかしそんなことを気にしなくて済むようになって、既に十年以上がたっている。 どこかで変えなきゃ、と思ってからも5年以上経っている。 人はそう簡単には変われないのだよ.... (←歳だ....)