Use macros for float-typed PI values, to avoid manual casts everywhere