#ifndef HOLESOME_VECTOR_UTILS_HPP #define HOLESOME_VECTOR_UTILS_HPP #include #include template float length(sf::Vector2 v) { return std::sqrt(pow(v.x, 2) + pow(v.y, 2)); } template sf::Vector2 normalize(sf::Vector2 v) { auto vectorLength = length(v); if (vectorLength != 0) { v.x /= vectorLength; v.y /= vectorLength; } return v; } template sf::Vector2 abs(sf::Vector2 v) { return sf::Vector2(std::abs(v.x), std::abs(v.y)); } template T sum(sf::Vector2 v) { return v.x + v.y; } #endif //HOLESOME_VECTOR_UTILS_HPP