We are using boost now so we can use their big number libs to implement rationals -- we might want to use our own representation with big numerator and 64 bit denom. But having a fast GCD and other will help.
Key remaining detail is how we handle saturation and upper bound on numbers. In particular:
- Are int conversions always safe?
- Does underflow get lost or do we catch and saturate?
We are using boost now so we can use their big number libs to implement rationals -- we might want to use our own representation with big numerator and 64 bit denom. But having a fast GCD and other will help.
Key remaining detail is how we handle saturation and upper bound on numbers. In particular: