3 template < typename T >
4 inline typeof(((T) (*((T *) (0)))) *
5 ((T) (*((T *) (0))))) square(const T & x) {
6 } template < typename T > struct vector2 {
9 (((T) (*((T *) (0)))) *
10 ((T) (*((T *) (0)))))) (*((typeof
11 (((T) (*((T *) (0)))) *
15 (((T) (*((T *) (0)))) *
16 ((T) (*((T *) (0)))))) (*((typeof
17 (((T) (*((T *) (0)))) *
20 operator *(const vector2 < T > &v) const {
23 vector2 < flop > velocity;
25 flop proj(const circle & C, vector2 < flop > P) {
26 flop c = square(C.velocity);