ここのところ時間がまとまって取れていないので、今日は
「C/C++によるプログラミングスタイルブック」
を細切れの時間に読んだ。
この本はだいぶ古い本ではあるが、SDPA のソースを書く際に参考にしている。
例えば、SDPA の callalbe library で k,l,i,j の変数については、できるだけ
「入力行列 F_k の l 番目のブロックの (i,j) 要素」
となるように統一してある。
SDPA のソースの中でも、できるだけこのルールに従っている。
(ただし、Schur complement のところは少しルールが違い、
i,j は Schur complemet の (i,j) 要素を指すようになっている。)
このように変数の意味をできるだけ固定するとデバッグが行ないやすい。
たとえば、k は0から入力行列の個数 (mDIM) の範囲になるので、
行列のサイズ(nBLOCK, blockStruct)と比較していたらバグの可能性が高い。
10年近く前の書籍ではあるが、「バグの少ないプログラムを書く」という点では
今でも十分に参考になる。
今日の作業内容:本読み 2h
今日のランチ:つかさ カンパチのから揚げ
明日の予測作業時間: 2h
0 件のコメント:
コメントを投稿