Floor function for rationals available?
Torbjörn Granlund
tg at gmplib.org
Mon Jun 22 12:54:26 UTC 2015
Moritz Schmitt <moritz at schmi.tt> writes:
mpz_set_d, mpz_set_q and mpz_set_f truncate op to make it an integer.
Since 'truncate' is not defined let me ask just to be very sure: mpz_set_q just
cuts of whatever comes after the comma, right? In particular, it is not the
floor function. Or am I misunderstanding something?
You're right; we get it "wrong" for negative arguments.
I suppose one could adjust for that case efficiently (in O(1) amortised
time): Iff the rational is negative and its denominator != 1, then
subtract 1 after the conversion.
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-discuss
mailing list