On Tue, 2020-06-16 at 17:44 +0200, Ivo Wever wrote: > ... > [1] There is a bug there though: there's an incompatibility between > the > SWIG bindings and Ruby versions above 2.4. The SWIG bindings > assume > a distinction between 'Fixnum' and 'Bignum' types that no longer > exists at the Ruby type level for those versions. If you try to > set > a number larger than 2**31-1, it will wrap around. If you try to > set > a number larger than 2**32-1, you get 0, always. > > This is because the bindings uses a macro from the Ruby C > bindings, > FIX2LONG, which should be NUM2LONG for these versions. The > FIX2LONG > doesn't take the unification of 'Fixnum' and 'Bignum' into > account > and converts anything it can't handle into 0. > > (For Ruby versions above 2.4 the T_BIGNUM case in the SWIG > bindings > is simply never matched, as the T_FIXNUM case is matched by any > integer)
It would really help if you could create an issue in the project JIRA for this because otherwise there is no chance it will be tracked and fixed. Andrew --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
