The Port function names are actually camel-cased and as such do not collide with the math macros, and undefining the names in the header is just annoying on platforms where you want to use the system macros in the implementation.