fixed floating point function