4 ms·
I’m not sure I follow. Isn’t it just two integer multiplications followed by a comparison. a/b > x/y is the same as ay > xb Assuming you don’t overflow your i
by WaldoDude 7y ago
I’m not sure I follow. Isn’t it just two integer multiplications followed by a comparison.
a/b > x/y is the same as ay > xb
Assuming you don’t overflow your integer type.
- atq2119 7y ago> Assuming you don’t overflow your integer type. There's your answer :) It's far too easy to overflow your integer type by simply adding a bunch of rationals whose denominators happen to be coprime, or just by multiplying rationals. For this reason, the vast majority of rational implementations use arbitrary precision integers, and of course arithmetic on those isn't constant time.