consistent use of M_PI