double 型を用いること。
"%6.3lf" などのフォーマット。
double
elapsed_time(struct timeval tp[2])
{
return tp[1].tv_sec-tp[0].tv_sec+1e-6*(tp[1].tv_usec-tp[0].tv_usec);
}
-i FILE」
の指定でLU分解する行列を入力できるようにすること。
FILEとして「-」
(マイナス)が指定された場合は標準入力から,
それ以外は指定されたファイルから入力を得ること。
「-i」指定がない場合は行列生成関数の結果をLU分解する。
-o FILE」
の指定でLU分解した行列を出力できるようにすること。
FILEとして「-」
(マイナス)が指定された場合は標準出力に,
それ以外は指定されたファイルに出力すること。
「-o」指定がない場合は出力しない。
-d」の指定で検算結果を表示すること。
-a N」の指定でLU分解関数の選択ができるようにすること
N が 1, 2, 3 それぞれを,
right-looking法,left-looking法, Crout法とする。
未指定の場合は一番高速と期待できるものにしておく。
-i FILE」の指定があった場合も同様に
LU分解に要した時間を表示すること。
この場合はコマンドライン引数の整数は無視する。