X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=xs-src%2FMouseTypeConstraints.xs;h=7068a5b4038fd95adbc1af0c9552584a750d2341;hp=34ab1ea8da004f4d0b9f89beac6f14534e774d1f;hb=refs%2Fheads%2Fmore_than_32_bit_Int_on_32_bit_systems;hpb=d06d926635763fa5687c429b5ad39938c564fbed diff --git a/xs-src/MouseTypeConstraints.xs b/xs-src/MouseTypeConstraints.xs index 34ab1ea..7068a5b 100644 --- a/xs-src/MouseTypeConstraints.xs +++ b/xs-src/MouseTypeConstraints.xs @@ -123,9 +123,10 @@ mouse_tc_Int(pTHX_ SV* const data PERL_UNUSED_DECL, SV* const sv) { if(SvIOKp(sv)){ return TRUE; } - else if(SvNOKp(sv)){ + else if(SvNOKp(sv)) { NV const nv = SvNVX(sv); - return nv > 0 ? (nv == (NV)(UV)nv) : (nv == (NV)(IV)nv); + NV mod = Perl_fmod( nv, 1 ); + return mod == 0; } else if(SvPOKp(sv)){ int const num_type = grok_number(SvPVX(sv), SvCUR(sv), NULL);