数列の平均と標準偏差を算出し,任意の平均および標準偏差の数列へ変換するメソッドを作ろうとしました.元の数列の平均と標準偏差は,処理過程の値として,参照渡しの引数へ突っ込んで返します.
static void f(double* data, int n, double* av, double* sd) { const double AV_DST = 0.0; const double SD_DST = 1.0; int i; double coef, sum, sumSqr; sum = sumSqr = 0.0; for (i = 0; i < n; i++) { sum += data[i]; sumSqr += data[i] * data[i]; } *av = sum / n; *sd = (sumSqr - sum * sum / n) / n; coef = SD_DST / *sd; // ここ for (i = 0; i < n; i++) { data[i] = (data[i] - *av)*coef + AV_DST; } }
下から4行目,係数を代入する式を書こうと,「coef=SD_DST/*」まで打った瞬間,以降の文字がいきなり緑になりました.そうか.コメント始まったか.