32 inline Point2d(
const double _x,
const double _y)
38 inline Point2d(
const int _x,
const int _y)
55 inline Point2d operator*(
const double d)
const {
return Point2d(x * d, y * d); }
57 inline Point2d operator+(
const double d)
const {
return Point2d(x + d, y + d); }
59 inline Point2d operator/(
const double d)
const {
return Point2d(x / d, y / d); }
61 inline Point2d normalize()
const
63 double d = std::sqrt(x * x + y * y);
67 inline double size()
const {
return std::sqrt(x * x + y * y); }
72 inline double dot(
const Point2d& p1,
const Point2d& p2) {
return p1.x * p2.x + p1.y * p2.y; }
74 inline std::ostream& operator<<(std::ostream& stream,
const Point2d& p)
76 stream << p.x <<
"," << p.y;