Método quadrado rápido usando modelos c ++

Se você frequentemente precisa calcular o quadrado de um valor, perceberá que usar pow (x, 2.0) de
math.h não é a oportunidade mais rápida.

Existem implementações fastpow (), algumas pessoas usam exp e log, e outras apenas escrevem x * x em seu código.

Para o último caso, aqui está um pequeno modelo c ++ que reduz o esforço de escrever x * x para expressões longas de x:

template <class T>
inline T square(T value) {
return value*value;
}