次の関数は2つの配列を比較し、許容誤差を考慮してすべての要素が等しい場合にtrueを返します。
// Equal
template<typename Type>
bool eq(const unsigned int n, const Type* x, const Type* y, const Type tolerance)
{
bool ok = true;
for(unsigned int i = 0; i < n; ++i) {
if (std::abs(x[i]-y[i]) > std::abs(tolerance)) {
ok = false;
break;
}
}
return ok;
}
この機能のパフォーマンスを打ち負かす方法はありますか?