There is an open-source fixed point math library project which can be found by following the links below:
- libfixmath Project Page
- libfixmath Wikipedia Article
It is a C static library with a C++ class interface for C++ users, it implements the following functionality:
Trig. Functions: sin, cos, tan, asin, acos, atan, atan2
Saturated Arithmetic: sadd, ssub, smul, sdiv
Other Functions: sqrt, exp
It only supports 16.16 fixed-point datatype.
It is an actively developed open-source project (looking for interested developers).