title: Use macro definitions (e.g. M_PI) in math.h as float not double
body: <p>I noticed that all the mathematical constants are declared as double, which leads to conversion problems on some platforms where no double precision units exist. 
  Is there a switch in the standard library of GCC to automatically down-cast or use separate definitions?</p>