ヘッダー行と列を含む 2D テーブルをファイルに出力しようとしています。それがヘッダー ファイルであるかどうかをループでチェックしたくありません。しかし、内部の for ループを 2 回記述したくないのは、メンテナンス中に誤って発散する可能性があるためです。どちらのループも double の範囲にまたがっていますが、整数を並列に使用して、ループの終わりでの四捨五入の問題を回避しています。
i<0
以下は、for ループに「ヘッダー行条件」を含むコードです。
Xi = range.Xi.min();
for(int i = -1; i< 128; i++, Xi += range.Xi/128) {
if(i<0)
File.write( format_blank, strlen(format_blank) ); // write top corner of table
else
write( File, format_nth_csv, Xi ); // write the 1st column
dXi = range.dXi.min();
for(int j=0; j < 64; j++, dXi += range.dXi/64) {
if (i<0)
write( File, format_1st_csv, dXi); // write the header row
else
write( File, format_nth_csv, kernelDensity.evaluatedAt( Xi, dXi ) );// write the table contents
}
}
- コンパイラは、ループでヘッダー パスをアンラップするほどスマートですか?
- 読み取り可能ですか?それとも、ヘッダー ループとボディ ループに分けたほうがよいでしょうか。