| 318 | } |
| 319 | |
| 320 | template <typename T> std::string vec_pretty(const T& a) { |
| 321 | if(a.size() == 0) |
| 322 | return "[]"; |
| 323 | std::stringstream ss; |
| 324 | ss << "["; |
| 325 | for(size_t i = 0; i < static_cast<size_t>(a.size()); i++) { |
| 326 | if(i == static_cast<size_t>(a.size() - 1)) |
| 327 | ss << a[i] << "]"; |
| 328 | else |
| 329 | ss << a[i] << ", "; |
| 330 | } |
| 331 | return ss.str(); |
| 332 | } |
| 333 | |
| 334 | template <typename T> Vector<T, 2> ensure_points_have_distance(const Vector<T, 2>& a, const Vector<T, 2>& b, T d) { |
| 335 | Vector<T, 2> toRet = b; |
no test coverage detected