Pure-data: [int] resolution bug

Created on 29 May 2019  路  10Comments  路  Source: pure-data/pure-data

seems [int] can't handle values over 2藛24, but shouldn't it?

Screen Shot 2019-05-29 at 17 57 06

feature pending GUI

All 10 comments

the [int] object stores the number as a t_float but casts to an int and back to get rid of the fractional part. I think it should cast to a long long (the largest integer type) instead, because floats can be much larger than 2^31. actually, they can also be larger than 2^63, so the "correct" way to allow arbitrarily large floats to pass through would be using the trunc math function instead of an integer cast. on the other hand, 2^63 is already a pretty large number...

note that floating point numbers beyond 2^24 become imprecise anyway.

BTW, did you mean to test with 2^24 (instead of 3^24)? that should work.

BTW, did you mean to test with 2^24 (instead of 3^24)? that should work.

no, I was just showing how numbers above 2^24 get screwed up

How does 3^24 show anything about 2^24? The former is orders of magnitude larger than the latter ;-) as I said, the current limit is really 2^31.

as I said, the current limit is really 2^31

oh, I just thought and assumed it was 2^24 :)

closed in a0816dc2ab196f544d257db56df35a055288264e, included in update/0.50 (#508)

@umlaeute please close :-)

I guess is best to close when it's officially merged?

you're probably right.

well, it's been merged :)

Was this page helpful?
0 / 5 - 0 ratings