unmoving  v0.1.0
More convenient fixed-point arithmetic for the Sony PlayStation
Todo List
Member PSXFixed::from_integer (int value)
Check for overflow? No exceptions on the PS1...
Member PSXFixed::operator*= (const PSXFixed &rhs)
Investigate performance impact of compiler-generated 64-bit multiplication emulation on 32-bit MIPS. If poor performance, consider utilising Lameguy64's suggested implementation using inline assembly to take advantage of the R3000's 64-bit double-word multiply feature.
Member PSXFixed::operator*= (const UnderlyingType &rhs)
Investigate overflow?
Member PSXFixed::operator/= (const PSXFixed &rhs)
Investigate performance impact of compiler-generated 64-bit multiplication emulation on 32-bit MIPS. If poor performance, consider utilising Lameguy64's suggested implementation using inline assembly to take advantage of the R3000's 64-bit double-word multiply feature.
Member PSXFixed::operator/= (const UnderlyingType &rhs)
Investigate overflow?
Member PSXFixed::PSXFixed (double value)
Consider adding a single-precision float version of this methodfor faster emulation when doing runtime conversions on the PlayStation and double precision is not needed.
Member PSXFixed::to_c_str (char *buffer, size_t buffer_size) const

Consider replacing the call to snprintf() with a call to sprintf() –it looks like the original Sony C library doesn't support snprintf()...

Consider adding the ability to reduce the number of displayed decimal places, or to remove trailing zeroes