Я пишу приложение с хрустальными номерами С++, где узкое место - это функция, которая должна вычисляться для double:
template<class T> inline T sqr(const T& x){return x*x;}
и другой, который вычисляет
Base dist2(const Point& p) const
{ return sqr(x-p.x) + sqr(y-p.y) + sqr(z-p.z); }
Эти операции занимают 80% времени вычислений. Интересно, можете ли вы предложить подходы, чтобы сделать это быстрее, даже если есть какая-то потеря точности
Спасибо