you could return glm::dot(v,v) have only one implementation