50 return (v1.x == v2.x && v1.y == v2.y);
56 return cpv(v1.x + v2.x, v1.y + v2.y);
62 return cpv(v1.x - v2.x, v1.y - v2.y);
68 return cpv(-v.x, -v.y);
74 return cpv(v.x*s, v.y*s);
80 return v1.x*v2.x + v1.y*v2.y;
88 return v1.x*v2.y - v1.y*v2.x;
94 return cpv(-v.y, v.x);
100 return cpv(v.y, -v.x);
112 return cpv(cpfcos(a), cpfsin(a));
118 return cpfatan2(v.y, v.x);
124 return cpv(v1.x*v2.x - v1.y*v2.y, v1.x*v2.y + v1.y*v2.x);
130 return cpv(v1.x*v2.x + v1.y*v2.y, v1.y*v2.x - v1.x*v2.y);
142 return cpfsqrt(
cpvdot(v, v));
160 return (v.x == 0.0f && v.y == 0.0f ? cpvzero :
cpvnormalize(v));
209 return cpv(v.x*m.a + v.y*m.b, v.x*m.c + v.y*m.d);