return Vector<Scalar>(std::abs(v.x), std::abs(v.y));
}
template<class Scalar>
+inline Vector<Scalar> round(Vector<Scalar> v) {
+ return Vector<Scalar>(std::round(v.x), std::round(v.y));
+}
+template<>
+inline Vector<float> round(Vector<float> v) {
+ return Vector<float>(std::roundf(v.x), std::roundf(v.y));
+}
+template<class Scalar>
constexpr Vector<Scalar> min(Vector<Scalar> lhs, Vector<Scalar> rhs) {
return Vector<Scalar>(std::min(lhs.x, rhs.x), std::min(lhs.y, rhs.y));
}